与同一模型的多重关系

时间:2011-03-22 13:23:12

标签: ruby-on-rails model associations

我有两个模型'资产'和'用户'。'资产'可以分配给一个'用户'而'资产'是由一个'用户'创建的。模型类的详细信息

class Asset < ActiveRecord::Base
belongs_to :assigned_to ,:class_name=>'User'
belongs_to :creator ,:class_name=>'User'
end

class User < ActiveRecord::Base
has_many :assets
end

现在在资产show.html.erb中我可以使用

访问创建者的姓名
 @asset.creator.name

但我看不到'assigned_to'的名字

@asset.assigned_to.name  #gives nothing

这两个值都成功保存在数据库中。问题是什么?

2 个答案:

答案 0 :(得分:0)

尝试将值直接打印到控制台:

puts @asset.pretty_inspect
puts @asset.assigned_to.pretty_inspect

某事;不对::)

答案 1 :(得分:0)

最后我的问题解决了解决方案

class Asset < ActiveRecord::Base

belongs_to :creator ,:class_name=>'User'
belongs_to :assigned_to, :class_name=>'User' 

end

user.rb

class User < ActiveRecord::Base

has_many :created_assets, :foreign_key => 'creator_id', :class_name => 'Asset'
has_many :assigned_assets , :foreign_key => 'assigned_to_id', :class_name => 'Asset'

end
相关问题