-2

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

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 cat 正在做的事情:

<% @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”并且它有效:我可以在季节索引视图中显示类别名称。

4

1 回答 1

0

创建迁移

并在类别表中添加“session_id”列

在终端的项目根目录中运行此命令

rails generate migration add_column_Session_id_to_categories session_id:integer

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

 rake db:migrate

这就是你所做的一切

于 2013-07-02T14:13:24.043 回答