Rails:如何访问视图中的belongs_to字段?

Dav*_*nes 5 activerecord ruby-on-rails

鉴于下面的MVC结构,我该如何访问:category?我将它添加到列表attr_accessible并重新启动服务器,但调用p.category仍然不返回任何内容.我相信你的Rails专家会知道发生了什么.提前致谢!

模型

class Product < ActiveRecord::Base
  belongs_to :category
  belongs_to :frame
  belongs_to :style
  belongs_to :lenses
  attr_accessible :description, :price
end
Run Code Online (Sandbox Code Playgroud)

视图

<% @product.each do |p| %>
<%= p.category %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

调节器

def sunglass
  @product = Product.all
end
Run Code Online (Sandbox Code Playgroud)

gab*_*lal 6

您需要指定categories要显示的表的哪一列。例如,名为 的列name

<% @product.each do |p| %>
 <%= p.category.name %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

否则它将返回对象......换句话说,所有列 {id: 1, name: 'blabla', etc }

还,

class Category < ActiveRecord::Base
   has_many :products
end
Run Code Online (Sandbox Code Playgroud)