【问题标题】:Multiple relation with same model同一模型的多重关系
【发布时间】:2011-03-22 13:23:11
【问题描述】:

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

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

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

【问题讨论】:

    标签: ruby-on-rails model associations


    【解决方案1】:

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

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

    有些事情不对劲:)

    【讨论】:

    • #<0xb694e40c>
    • &gt;
    【解决方案2】:

    终于我的问题在这里解决了就是解决方案

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-27
      • 2016-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-28
      相关资源
      最近更新 更多