2013-08-27 27 views

回答

1

您需要使用options_from_collection_for_select它允許您指定要選擇哪個選項

文檔: http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-options_from_collection_for_select

在這個例子中,id爲17 Shop會被選中:

<%= f.select :shop_id, options_from_collection_for_select(Shop.all, :id, :name, 17) %> 
+0

由於某種原因,它不起作用,它可能是它不是一個select_tag,而是關聯(f.select)上的對象實例?還是他們應該工作一致? –

+0

它與表單生成器一起工作,我粘貼的代碼片段是正確的方式。 – Benj

+0

17是一個例子,我假設你不只是複製/粘貼我的代碼片段,而且你調整了它的權利?你的意思是'它不起作用'? – Benj

1

由於您使用了form_for,因此只需在控制器中設置值,而不需要修改視圖。

def new 
    @your_model = YourModel.new(shop_id: 10) 
    end 
+0

是的,如果不是我真的希望它在視圖中出現,那麼這將是n選項... –

+0

我不明白這一點。 @BenjaminSinclaire的答案應該也適用。 – Bigxiang

+0

我現在瞭解你的解決方案,而且非常好。表單助手在其中有一個條件不可讀。我其實是用控制器的方式:)但是因爲我的問題是關於form_helper的非常明確的,我檢查了另一個答案作爲接受的答案。非常感謝您的時間! –