1
嗨即時通訊相當初學者在軌道。我有一個問題的建議將不勝感激。 我有兩個模型「用戶」和「資產」 「資產」由「用戶」創建和資產」可以被分配到‘用戶’模式是兩個has_may協會與相同模型鐵3
Asset { id,name,creator_id,assigned_to_id,price,...}
User{ id,name,....}
現在在資產模型類的關聯是
class Asset < ActiveRecord::Base
{
#validation
belongs_to :creator ,:class_name=>'User'
belongs_to :assigned_to, :class_name=>'User' ,:foreign_key=>'assigned_to_id'
}
和用戶模型是
現在在資產放映視圖我可以
獲得創建者名稱@asset.creator.name
但不能assigned_to名稱
@asset.assigned_to.name =>(error is)undefined method `first_name' for nil:NilClas
和 @ asset.assigned_to_id.name =>(錯誤)1未定義的方法`如first_name」:Fixnum對象
任何建議如何可以我使同一模型雙關聯
讀取後[鏈接](http://stackoverflow.com/questions/5149128/rails-3-multiple-has-one-associations-seeding)我已更改我的用戶模型類User'creator_id',:class_name =>'資產' has_many:assigned_assets,:foreign_key =>'assigned_to_id',:class_name => 'Asset' }並且資產模型現在沒有改變,它在控制檯的控制檯輸出中運行良好u = User.new:first_name =>'foo'u.id = 12 u .inspect =>「#也是u2.inspect =>」#<用戶id:45,first_name:bar> ...更多關於下一條評論 –
Naveed
2011-03-24 12:47:58
現在讓我們創建Asset irb(main) :032:0> asset = Asset.new:assigned_to_id => u,:creator_id => u2,:name =>'Android' =>#現在 asset.assigned_to.name =>(錯誤)未定義的方法名稱爲nil:NilClass和asset.creator.first_name相同的錯誤,但是如果我在聲明資產之後分配如a.assigned_to = u,a.creator = u2 now a.assigned_to.first_name =>'bar'和a.creator.first_name =>'foo'{有趣}但這些全部僅適用於console.in視圖asset.creator.first_name works plz任何建議 –
Naveed
2011-03-24 13:00:25