我的问题是我试图调用一个表的关联。我得到了ID号,但想要从中得到一个不同的字段。什么时候才能解决这个问题?
class Category < ActiveRecord::Base
has_many :suppliers结束类供应商<活动记录::基础belongs_to :类别结束
class Supplier < ActiveRecord::Base
belongs_to :categories
end控制器
def index
@suppliers = Supplier.all
end
View :
<% @suppliers.each do |s|%>
<td><%= s.name %></td>
<td><%= s.inspect %></td>
<% s.categories.each do |c|%>
<td><%= c.inspect %></td>
<%end%>
<% end %>
errormesseage : uninitialized constant Supplier::Categories发布于 2012-05-15 15:21:29
您的供应商模型应具有category_id字段(单数),而不是categories_id字段(复数)。
完成此操作后,将模型更改为
class Supplier < ActiveRecord::Base
belongs_to :categories
end一切都会开始正常工作。
如果英语不是您的第一语言,这一点可能不明显,但Rails会尝试遵守英语语言约定。因此,因为供应商只属于一个类别,所以在讨论关系时使用单数形式。
这是相同的逻辑,即您的类是单个Supplier,但数据库表包含suppliers
发布于 2012-05-15 15:09:24
如果您的供应商表中有category_id列,那么您应该声明belongs_to关联,如下所示。
class Supplier < ActiveRecord::Base
#not
#belongs_to :categories
belongs_to :category
endhttps://stackoverflow.com/questions/10595585
复制相似问题