Ruby on rails RoR";“有很多”;链接>;如何通过外键获取标题?

Ruby on rails RoR";“有很多”;链接>;如何通过外键获取标题?,ruby-on-rails,foreign-key-relationship,has-many,Ruby On Rails,Foreign Key Relationship,Has Many,我对RoR中的关系有一个基本问题: 在视图中,我尝试显示一个组的标题,该标题位于表“groups”中,而表/对象“product”中仅存储键“group_id” 当我写product.group#id时,我会看到数据库中的值,但如果我写product.group.title,RoR会告诉我未定义的方法“group” 这是一个基本问题,所以我感谢你的帮助 视图中的代码(这很管用,但太糟糕了!我确信有一种方法类似于product.group.title) 模型: class Group <

我对RoR中的关系有一个基本问题:

在视图中,我尝试显示一个组的标题,该标题位于表“groups”中,而表/对象“product”中仅存储键“group_id”

当我写product.group#id时,我会看到数据库中的值,但如果我写product.group.title,RoR会告诉我未定义的方法“group”

这是一个基本问题,所以我感谢你的帮助

视图中的代码(这很管用,但太糟糕了!我确信有一种方法类似于product.group.title)


模型:

class Group < ActiveRecord::Base
  has_many :products, :dependent => :destroy
end

class Product < ActiveRecord::Base
  belongs_to :groups
  has_and_belongs_to_many :authors
end
类组:销毁
结束
类产品
属于:组

此外,在您看来,您可以更轻松地做到这一点:

<% @products.each do |product| %>
  <%= product.group.title %>  </td>
<% end %>


感谢您的支持。。但它不起作用。当我写product.group#id时,我会看到数据库中的值,但如果我写product.group.title,RoR会告诉我为#定义了未定义的方法“group”。这是我遇到的准确错误:产品中的NoMethodError,索引显示/home/stephane/www/site2/app/views/Products/index.html.erb,其中第16行:为#是的未定义方法“group”,产品。作者作品。我看到了authors对象的to_字符串版本。。。但我似乎错过了一些链接到该组的内容?您更改了这部分,对吗<代码>属于:组。如果是这样,那么我能想到的唯一一件事就是尽量不要使用“组”这个词:
属于:mygroup,:class\u name=>“group”,:foreign\u key=>“group\u id”
,然后转到
product.mygroup
。还可以尝试重新启动rails。您用第一句话修复了它!:-)它属于:单数形式的组,而不是复数形式的组。我一直不明白他们为什么在RoR中使用单数或复数形式(为什么不总是使用同一个词?),但错误在于我将belgons_写到:带有“S”的组,这不起作用。删除“S”解决了问题,我现在可以访问product.group.title。谢谢
<% @products.each do |product| %>
  <%= product.group.title %>  </td>
<% end %>