2012-02-11 38 views
0

我有兩個模型,Story和Category。使用表格Story#new,我希望能夠保存類別的外鍵。在Rails窗體中合併多個模型以創建一個新對象

要顯示Story#new窗體頁上從類別選擇數據我用:

<%= collection_select(:category , :category, Category.all , :id, :category, {:prompt => 'Select Category...'}) %>

如何節省category_id到新創建的故事對象?


故事屬性:industry_iduser_id,類別有屬性name development.log告訴我這一點:(它看起來像它的嘗試一個新的類別(99)添加到分類表

Started POST "/stories" for 127.0.0.1 at 2012-02-10 17:32:56 -0600 
Processing by StoriesController#create as HTML 
story"=>{"industry_id"=>"8", "user_id"=>"8"}, "category"=>{"category"=>"99"}, "commit"=>"Create Story"} 
+0

故事'belongs_to'類別?協會是如何制定的? – Substantial 2012-02-11 05:44:24

+0

燁:'類故事<的ActiveRecord :: Base的 的has_many:行業 的has_many:categories'和'類分類<的ActiveRecord :: Base的 belongs_to的:story' – wantrapreneur 2012-02-12 03:26:05

+0

所以呀其實故事的has_many類別 – wantrapreneur 2012-02-12 03:27:03

回答

0

我認爲您需要將參數更改爲collection_select第一個參數是模型的名稱第二個參數是模型屬性的名稱值將被分配第四個參數是Category的方法作爲t使用的對象他選擇選項的文本值。

我相信它應該是這樣的:

<%= collection_select(:story , :category_id, Category.all , :id, :name, {:prompt => 'Select Category...'}) %> 

你也可能想看看ActiveRecord nested attributes

+0

這是確切的答案,謝謝布蘭登!我仍然將它保存到Category模型中,因爲第一個參數是':category' – wantrapreneur 2012-02-12 03:36:08

相關問題