Rails - 如何显示与ID相关的名称

时间:2012-01-31 01:42:23

标签: ruby-on-rails

我有一个(希望)简单的问题,之前可能已经回答过......我只是找不到......好吧,我们走了,应该很容易。

我有这个架构

create_table "items", :force => true do |t|
t.text     "description"
t.string   "priority"
t.date     "date"
t.time     "time"
t.datetime "created_at"
t.datetime "updated_at"
t.boolean  "done"
t.integer  "user_id"
end

create_table "users", :force => true do |t|
t.string   "name"
t.datetime "created_at"
t.datetime "updated_at"
end

我在表单中添加了一个新项目:

<%= collection_select(:item, :user_id, User.all, :id, :name) %>

现在,它工作正常,数据保存正确(我已经设置了正确的相关性)。我想要的是,在项目索引中显示项目分配给的人的姓名,而不仅仅是ID号。

在项目/索引中我有:

<td><%= item.user_id. %></td>

但我更喜欢像

这样的东西
item.user.name

只是,它不起作用 - 我想我需要在我的控制器中执行一些操作。 你能帮我吗? :)

编辑这里有更多细节: 我的模特:

class User < ActiveRecord::Base
has_many :items
end

class Item < ActiveRecord::Base
belongs_to :user
end

1 个答案:

答案 0 :(得分:1)

将此添加到您的Items类:

class Items < ActiveRecord::Base
  belongs_to :user
end

然后item.user.name应该有用。