Rails 协会中未找到名为关联的可能拼写错误的问题

2024-01-22

这是我的控制器

@post = Post.joins(:customers).select("customers.*,posts.*").find params[:id]

我的帖子模型

belongs_to :customer

我的客户模型

has_many :posts

我收到错误为

Association named 'customers' was not found on Post; perhaps you misspelled it?

这是我的控制器输出:

Processing by PostsController#show as */*
  Parameters: {"id"=>"6"}
  Post Load (0.5ms)  SELECT "posts".* FROM "posts" WHERE "posts"."id" = $1 LIMIT 1  [["id", "6"]]
Completed 500 Internal Server Error in 113ms

ActiveRecord::ConfigurationError (Association named 'customers' was not found on Post; perhaps you misspelled it?):
  app/controllers/posts_controller.rb:16:in `show'

这是一个典型的拼写错误:

@post = Post.joins(:customers).select("customers.*,posts.*").find params[:id]
# should be:
@post = Post.joins(:customer).select("customers.*,posts.*").find params[:id]
                          #^^ no plural

因为您像这样定义了关系(使用单数):

# Post model
belongs_to :customer

一些需要了解的事情:

  • In the joins/includes方法,始终使用与关系完全相同的名称
  • In the where子句,始终使用关系的复数名称(实际上是表的名称,默认情况下是复数的模型名称,但也可以手动设置)

例子:

# Consider these relations:
User has_many :posts
Post belongs_to :user

# Usage of joins/includes & where:
User.includes(:posts).where(posts: { name: 'BlogPost #1' })
                  #^            ^
Post.joins(:user).where(users: { name: 'Little Boby Table' })
              #^^           ^

类似问题:

  • 如何根据属于第一个模型的另一个模型的属性查询模型? https://stackoverflow.com/questions/23633301/how-to-query-a-model-based-on-attribute-of-another-model-which-belongs-to-the-fi/23633352#23633352
  • Rails 活动记录查询与“存在”的关联 https://stackoverflow.com/questions/18234602/rails-active-record-querying-association-with-exists/18234998#18234998
  • Rails 3,具有 lambda 条件的 has_one / has_many https://stackoverflow.com/questions/13515225/rails-3-has-one-has-many-with-lambda-condition/13516285#13516285
  • Rails 4 可以找到没有孩子的父母 https://stackoverflow.com/questions/18082096/rails-4-scope-to-find-parents-with-no-children/18082147#18082147
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 协会中未找到名为关联的可能拼写错误的问题 的相关文章

  • 脚本标头过早结束:媒体(与以下问题相关:rails 应用程序部署+passenger+ubuntu+apache)

    我刚刚设置了一个 linode 服务器并在其上部署了我的 Rails 3 应用程序 它已启动并正在运行 问题是某些图像没有显示在生产中 在本地 它们工作正常 我仔细检查了日志文件 生产 log 但什么也没找到 然后我检查服务器 error
  • Rails:使最终用户可以编辑视图?

    无论如何 我可以使最终用户可以编辑 Rails 视图中的内容吗 这样他们就可以在我允许的页面上进行简单的文本更改 而无需我自己编辑 HAML 文件 想法 澄清 我了解 CMS 系统 但我认为这并不完全是我想要的 我想保持对视图的编程控制 但
  • Jquery 条件适用于除 safari 之外的所有浏览器

    在 iPhone 和 iPad 上的 Safari 中 我为条件语句设置的选择器不起作用 并且会导致每个 ajax 请求出现重复的内容 它在 android chrome firefox ie 和桌面版 safari 上运行良好 li mi
  • 在自定义条件下清理 SQL

    我需要创建一个简单的搜索 但我无法使用 Sphinx 这是我写的 keywords input split s queries keywords each do keyword queries lt lt sanitize sql for
  • 我可以将我的heroku git repo导入bitbucket吗?如何?

    我的笔记本电脑坏了 我需要从另一台计算机上编码 我正在使用 Heroku 我想将最新版本的代码从 Heroku 获取到另一台机器 据我了解 强烈建议使用 GitHub 或 BitBucket 获取适当的远程存储库 我决定尝试一下 BitBu
  • 无法安装 RMagick 0.0.0。找不到 Magick 配置

    我正在运行 debian 服务器并在一段时间后升级了所有软件包 apt get update apt get upgrade apt get distro upgrade 然后 rmagick 不再工作了 因为 imagemagick 被更
  • 与同一模型的多个 has_many 关系

    我有一个可以创建帖子的模型用户 User has many posts Post belongs to user 但是 我还想允许用户将帖子保存为书签 所以我添加了以下内容 Bookmark belongs to post belongs
  • 将 ActiveAdmin 用户与现有用户模型合并

    我在项目早期就设置了 ActiveAdmin 并使用了默认值admin users认证模型 从那以后 我使用 Devise 建立了一个单独的用户模型 并意识到合并两个表可能会更明智 这样管理员就可以在 Activeadmin 和站点前端中进
  • 包括 collection_select 帮助程序的空白和默认值

    我希望在 Rails 应用程序的下拉列表中有一个 选择一个选项 选项 我正在使用collection select辅助标签 它看起来像这样 我希望下拉菜单的默认选项是 选择国家 地区 Use the include blank option
  • 如何在 Rails 3 中连接表并计算记录数?

    我有一个Collection有很多硬币的类 我正在尝试选择拥有两枚以上硬币的收藏品 目前 我可以直接通过 Ruby 来完成此操作 但效率极低 我当前的代码 collections Collection all select c c coin
  • Capistrano 无法定位应用程序部署中的 Gemfile 错误

    我正在尝试将 Rails 应用程序部署到生产服务器 并决定使用以下命令将其部署到 DigitalOcean本指南 https gorails com deploy ubuntu 14 04 overview RVM 要部署 我使用以下命令
  • Ruby - :variable 和 @variable 之间的区别

    作为 Ruby on Rails 新手 我知道 和 引用具有不同的含义 我看见这个帖子 https stackoverflow com questions 3538575 whats the difference between and v
  • 从 Rails 2.3.8 升级到 4.0

    我正在 Rails 2 3 8 上运行一个应用程序 我计划将其升级到 Rails 4 0 RC 版 对我来说最简单的方法是什么 我需要先升级到 Rails 3 x 吗 注意 在我当前的实现中 我使用八哥和雪貂 作为升级的一部分 我也在考虑搬
  • YouTube 视频出现 Phantom JS 错误

    Phantom JS 版本 1 9 1 恶作剧版本 1 3 0 从今天开始 YouTube 嵌入视频在运行 javascript 测试时会出现 poltergeist 错误 我的 YouTube 代码只是默认的嵌入 YouTube 代码 这
  • Rails 上的 SASS 无效 CSS 错误

    我正在尝试使用http startbootstrap com stylish portfolio http startbootstrap com stylish portfolio但是 在我的 Rails 应用程序中 我在 vintage
  • 初始化会破坏rails中的布局设置吗?

    在其中一个控制器中 我需要特定的布局 我添加了layout一开始 效果很好 但如果我添加一个initialize某些基于控制器的变量的函数 Rails 似乎只是忽略了layout命令 有人有同样的问题吗 我该如何修复它 class Admi
  • Heroku 码头部署

    我正在关注这篇文章https devcenter heroku com articles container registry and runtime https devcenter heroku com articles containe
  • 如何在 Rails 3 中查看用户的实时活动?

    我想做的是让我的管理员用户能够实时 通过一些 AJAX jQuery 功能 看到我的用户正在做什么 我该如何去做呢 我认为它与会话活动有关 并且我已经开始将会话保存到数据库 而不是 cookie 但一般来说 我如何获取该信息并实时解析它 我
  • Rails:验证字符串的最小和最大长度,但允许其为空白

    我有一个想要验证的字段 我希望该字段能够留空 但如果用户输入数据 我希望它采用某种格式 目前我在模型中使用以下验证 但这不允许用户将其留空 validates length of foo maximum gt 5 validates len
  • RuntimeError:无法修改冻结的数组(Rollbar、Rails 5.1 升级)

    升级到rails 5后无法使用rspec和rollbar 创建 Rails 4 应用程序 升级 gemfile 以使用 Rails 5 尝试添加防滚杆 gem support 标准配置 环境 rb Load the Rails applic

随机推荐

  • elasticsearch 按数组字段的大小进行过滤

    如何过滤包含数组字段且元素数量超过 N 的文档 如何过滤字段为空数组的文档 切面是解决方案吗 如果是这样 怎么办 我想看看脚本过滤器 http www elasticsearch org guide reference query dsl
  • Elasticsearch 集群“master_not_discovered_exception”

    我已经安装了elasticsearch 2 2 3并在2个节点的集群中进行了配置 节点 1 elasticsearch yml cluster name my cluster node name node1 bootstrap mlocka
  • 语音识别在 Unity Hololens 项目中不起作用

    我正在尝试在 Hololens 中创建自己的具有语音识别功能的 Unity 项目 我复制粘贴了来自的说明tutorial https developer microsoft com en us windows holographic hol
  • 查明某个类型是否实现了通用接口

    假设我有一个类型 MyType 我想做以下事情 查明对于某些 T MyType 是否实现了 IList 接口 如果 1 的答案是肯定的 请找出 T 是什么 似乎执行此操作的方法是 GetInterface 但它只能让您按特定名称进行搜索 有
  • Realm android 中的更新语句

    我应该如何在android中使用领域数据库更新已经存在的值 我一直在尝试更新它 但它只是作为新值添加而不覆盖它 更新现有对象及其领域数据库中所有字段的另一种方法是使用以下方法realm copyToRealmOrUpdate Object
  • PHP MYSQL 以阿拉伯语插入数据

    我正在尝试使用 PHP 和 HTML 表单将一些阿拉伯语言数据插入到 MySQL 中 当我将数据插入MYSQL表时 表字段将数据表示为 但是当我使用 PHP 访问相同的数据并将其显示在我的网页中时 它显示了正确的数据 我在用 http eq
  • 取消的任务也显示为已完成

    我正在尝试使用异步等待和取消来对此事有更多的了解 为此 我制作了以下控制台应用程序 using System using System Threading using System Threading Tasks namespace Asy
  • JavaScript 中的点运算符

    我认为点运算符只能应用于对象来访问其属性 IE 例如 var o prop property alert o prop property 当JS执行时alert o prop 第一个包含引用的对象o将进一步发现将找到包含引用的属性o pro
  • 按钮突出显示状态的延迟

    我在两种完全不同的情况下遇到了这个问题 这使得它非常奇怪 情况 一个 UIButton 作为另一个 UIView 的子视图 情况 UIBarButtonItem 在 UIToolBar 中 在这两种情况下 按钮仅在稍有延迟 大约 0 5 1
  • 支持多个版本的 Excel 以从 Access 应用程序实现自动化

    我有一个 Access 应用程序 是在多用户环境中的 Access 2013 中开发的 它使用 Excel 自动化来导出和格式化 Excel 文件 正常的 Office Excel 2013 15 0 参考已完成 并且在 Office 20
  • 随机慢速 Rack::MethodOverride#call on Rails app on Heroku

    环境 红宝石 2 1 2 轨道 4 1 4 Heroku 在 Heroku 上托管的 Rails 应用程序中 有时请求需要很长时间才能执行 它只有 1 的次数或更少 但我们无法弄清楚它发生了什么 我们安装了 newrelic 代理 它说它不
  • 如何将 Spring-Boot-Webflux 应用程序部署到 Tomcat 独立服务器?

    一个普通的 spring web 应用程序可以部署到tomcat独立为war文件如下 SpringBootApplication public class MyApplication extends SpringBootServletIni
  • Symfony 渲染控制器异常模板(“”)

    我试图在树枝内渲染一个控制器 我遵循文档 嵌入其他控制器 我经常使用 render controller 方法获得豁免 渲染模板期间抛出异常 在我的 template html twig 中 render controller MyBund
  • 确定元素在文档上的绝对位置

    我需要确定 HTML 元素的确切屏幕坐标 相对于文档 我已经有执行此操作的代码 将每个父对象的 clientWidth 和 clientHeight 相加到根 但当 jQuery 的滚动效果开始工作时似乎无效 事实上 我需要检测位置的元素是
  • 在 mongodb 的一次更新调用中推送到两个单独的数组

    我正在尝试更新以通过一次更新调用来更新文档中的两个单独的数组 有没有办法做到这一点 例如 如果我有一个类似的文档 id 1 array1 1 array2 4 现在我正在这样做 db collection update id 1 push
  • Oracle SQL技术避免填充trans log

    Oracle 编程新手 来自 Sybase 和 MS SQL Server 避免用大量更新填充事务日志的 Oracle 方式 是什么 在我的具体情况下 我正在更新可能非常大量的行 这是我的方法 UPDATE my table SET a c
  • Django 表已经存在

    这是我的 Django 迁移文件 当我跑步时 python manage py makemigrations migrate 我收到这个错误 Error django db utils OperationalError 1050 Table
  • 将非常大的 Gradle 项目与许多子项目分开的指南,以使 Gradle 构建更快,IntelliJ Gradle 刷新更快

    我有一个相当大的 git 项目 我有一个很大的单个 build gradle 定义子项目 在最初几年 没问题 在最初的几年之后 由于子项目的数量 Gradle 命令行配置步骤变得有点慢 例如 当我运行 gradle 命令时 我看到暂停 gt
  • 有没有一种使用正则表达式快速解析大文件的方法?

    问题 非常非常大的文件 我需要逐行解析以从每行获取 3 个值 一切正常 但解析整个文件需要很长时间 可以在几秒钟内完成此操作吗 通常所需时间为 1 分钟到 2 分钟 示例文件大小为 148 208KB 我使用正则表达式来解析每一行 这是我的
  • Rails 协会中未找到名为关联的可能拼写错误的问题

    这是我的控制器 post Post joins customers select customers posts find params id 我的帖子模型 belongs to customer 我的客户模型 has many posts