2010-06-13 69 views
1

我是紅寶石新手,需要你的幫助。從紅寶石上的其他模型傳遞參數

我一定要救一個「主題」,使它像這樣:

@topic = Topic.new(params[:topic]) 

但我想傳遞的其它信息這個話題。它有一個將社區鏈接到社區的「community_id」字段。 登錄的用戶在他的桌子上有這些信息。

如何將記錄的用戶的「community_id」傳遞給創建的「topic」的「community_id」?

THX對您有所幫助

回答

3
@topic = Topic.new(params[:topic]) 
@topic.community = @user.community 
@topic.save 

這將創建一個你傳遞哈希參數的新主題對象。並將其定義爲用戶的社區。

1

有三種方法:(我做了你是如何從用戶檢索community_id猜測,這會不會是精確的)

@topic = Topic.new(params[:topic]) 
@topic.community = @user.community 

@topic = Topic.new(params[:topic].merge(:community_id => @user.community_id)) 

@topic = @user.community.topics.new(params[:topic]) 

(此代碼未經測試)

第二種假定community_id是attr_accessible。

第三個可能是更乾淨的方式來做到這一點,這是我如何做到這一點。但是,如果模型屬於多個模型,則第二種方法很好。