Rails has_one belongs_to在索引中显示字段?

时间:2013-07-02 13:45:03

标签: ruby-on-rails belongs-to has-one

我有两个模特:季节和类别。我想在季节索引视图中显示类别名称。

class Season < ActiveRecord::Base
  attr_accessible :nb_down, :nb_up, :name, :category_id
  has_one :category
  accepts_nested_attributes_for :category
end

class Category < ActiveRecord::Base
  attr_accessible :color, :name
  belongs_to :season
end

在我的季节表格中,我添加了一个季节类别:

<%= f.collection_select :category_id, Category.all,:id,:name %>

在我的季节索引视图中,我想显示所有季节列和类别名称。我正在展示id猫:

<% @seasons.each do |season| %>
  <tr>
    <td><%= link_to season.id, season_path(season) %></td>
    <td><%= season.name %></td>
    <td><%= season.nb_up %></td>
    <td><%= season.nb_down %></td>
    <td><%= season.category_id %></td>
    (...)

我想显示类别名称,而不是ID。我尝试做“season.category.name”但没有工作。请问我的错误在哪里?

谢谢:)

[编辑]:我创建了一个迁移,以便在类别中添加season_id,并在季节类中将“has_one”替换为“belongs_to”并且它可以工作:我可以在季节索引视图中显示类别名称。

1 个答案:

答案 0 :(得分:0)

创建迁移

并在catogeries表中添加'session_id'列

在终端

中的项目根目录中运行此命令
rails generate migration add_column_Session_id_to_categories session_id:integer

这将创建迁移,现在运行此命令

 rake db:migrate

这就是你所做的一切