1
我有兩個模式「資產」,和「用戶」 .'Asset「可以被分配給一個‘用戶’和‘資產’被一個創建」多關係user'.here是模型類的細節與同一模型
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
創造者的訪問名字,但我不能看不到
@asset.assigned_to.name #gives nothing
兩個值成功保存在database.what是問題「assigned_to」的名字?
未定義的方法'pretty_in spect'爲#<資產:0xb694e40c> – Naveed 2011-03-22 15:15:18
我是新來的鐵軌我試圖在控制檯,我瘦了一切都在控制檯。控制檯結果是用戶= User.new =># \ n user.id = 2 user.name = '富' user.inspect =>「#<用戶ID:2,名稱: \ 「富\」>資產= Asset.new:名稱= '移動'=>#<資產ID:無,名稱: 「移動」> asset.creator =用戶=>#<用戶ID:2,名稱:\」 FOO \「>指晴朗asset.assigned_to =用戶=>同上確定現在asset.creator.name =>」富」 asset.assigned_to.name =>‘富’我認爲在控制檯我們明確分配關係的值,使作品在發展的ActiveRecord(是嗎?)做這個工作 –
Naveed
2011-03-22 15:16:01
第一 - 不分配.ID = 2自己,ActiveRecord的會爲你做它,當你保存。「user.save!」 二 - 。你必須做在軌分配應用程序中的方式與控制檯一樣的,但是,如果你已經產生,你會看到類似「User.update_attributes(PARAMS [:用戶])」的支架。這將包含所有的表單字段。你只需要確保你有form_field用於:assigned_to添加到你的表格 是這樣的: <(%)=選擇( 「資產」, 「assigned_to_id」,User.all.collect {| P | [p.name,p.id]},{:include_blank =>真})%> – adzdavies 2011-03-22 22:30:12