与同一模型的多重关系
我有两个模型’资产’和’用户’。’资产’可以分配给一个’用户’而’资产’是由一个’用户’创建的。其中有模型类的详细信息
class Asset '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
这两个值都成功保存在数据库中。问题是什么?
尝试将值直接打印到控制台:
puts @asset.pretty_inspect puts @asset.assigned_to.pretty_inspect
东西;不对:)
最后我的问题在这里解决了解决方案
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