首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未初始化常量Supplier::Categories

未初始化常量Supplier::Categories
EN

Stack Overflow用户
提问于 2012-05-15 14:54:07
回答 2查看 1.2K关注 0票数 0

我的问题是我试图调用一个表的关联。我得到了ID号,但想要从中得到一个不同的字段。什么时候才能解决这个问题?

代码语言:javascript
复制
class Category < ActiveRecord::Base
 has_many :suppliers

结束类供应商<活动记录::基础belongs_to :类别结束

代码语言:javascript
复制
class Supplier < ActiveRecord::Base
  belongs_to :categories
 end

控制器

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-15 15:21:29

您的供应商模型应具有category_id字段(单数),而不是categories_id字段(复数)。

完成此操作后,将模型更改为

代码语言:javascript
复制
class Supplier < ActiveRecord::Base
  belongs_to :categories
end

一切都会开始正常工作。

如果英语不是您的第一语言,这一点可能不明显,但Rails会尝试遵守英语语言约定。因此,因为供应商只属于一个类别,所以在讨论关系时使用单数形式。

这是相同的逻辑,即您的类是单个Supplier,但数据库表包含suppliers

票数 0
EN

Stack Overflow用户

发布于 2012-05-15 15:09:24

如果您的供应商表中有category_id列,那么您应该声明belongs_to关联,如下所示。

代码语言:javascript
复制
class Supplier < ActiveRecord::Base
  #not
  #belongs_to :categories
  belongs_to :category
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10595585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档