我有一个(希望)简单的问题,之前可能已经回答过......我只是找不到......好吧,我们走了,应该很容易。
我有这个架构
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
答案 0 :(得分:1)
将此添加到您的Items类:
class Items < ActiveRecord::Base
belongs_to :user
end
然后item.user.name
应该有用。