我有以下選擇用於相關聯的對象實例:預選值動態地在選擇
<%= f.select :shop_id, Shop.all.map {|shop| [shop.name, shop.id]} %>
欲預選選項值中的一個動態地,即,從不同的時間到的時間。
我試過在其他答案中給出的內容(例如https://stackoverflow.com/a/5216513/1417223),但沒有任何事情發生。
如何預先選擇一個選項值,關閉ID?
我有以下選擇用於相關聯的對象實例:預選值動態地在選擇
<%= f.select :shop_id, Shop.all.map {|shop| [shop.name, shop.id]} %>
欲預選選項值中的一個動態地,即,從不同的時間到的時間。
我試過在其他答案中給出的內容(例如https://stackoverflow.com/a/5216513/1417223),但沒有任何事情發生。
如何預先選擇一個選項值,關閉ID?
您需要使用options_from_collection_for_select
它允許您指定要選擇哪個選項
在這個例子中,id爲17 Shop
會被選中:
<%= f.select :shop_id, options_from_collection_for_select(Shop.all, :id, :name, 17) %>
由於您使用了form_for,因此只需在控制器中設置值,而不需要修改視圖。
def new
@your_model = YourModel.new(shop_id: 10)
end
是的,如果不是我真的希望它在視圖中出現,那麼這將是n選項... –
我不明白這一點。 @BenjaminSinclaire的答案應該也適用。 – Bigxiang
我現在瞭解你的解決方案,而且非常好。表單助手在其中有一個條件不可讀。我其實是用控制器的方式:)但是因爲我的問題是關於form_helper的非常明確的,我檢查了另一個答案作爲接受的答案。非常感謝您的時間! –
由於某種原因,它不起作用,它可能是它不是一個select_tag,而是關聯(f.select)上的對象實例?還是他們應該工作一致? –
它與表單生成器一起工作,我粘貼的代碼片段是正確的方式。 – Benj
17是一個例子,我假設你不只是複製/粘貼我的代碼片段,而且你調整了它的權利?你的意思是'它不起作用'? – Benj