2014-10-22 18 views
0

簡單形式默認情況下會生成id,用於以某種形式輸入id =「#{model_name} _#{attr_name}」。Rails simple_from:在輸入ID中指定模型ID

我需要在此輸入ID中包含模型的id,因爲我在單個頁面(嵌套)上有幾種形式的模型。所以ID會像ID = 「#{MODEL_NAME} _#{MODEL_ID} _#{attr_name}」

例如

= simple_form_for([@site, supply]) do |f| 
    = f.input :name 
    ... 

生成表單喜歡它:

<form ... id="edit_supply_4"> 
    <input ... id="supply_name" ... > 

但我需要這個:

<form ... id="edit_supply_4"> 
    <input ... id="supply_4_name" ... > 

如何做到這一點?

回答

1

傳遞一個input_html散列允許您自定義輸入的屬性:

= simple_form_for([@site, supply]) do |f| 
    = f.input :name, :input_html => { 
    :id => "#{@site.model_name}_#{@site.id}_name" 
    } 
+0

您是否能增加一個解釋你的代碼? – theMayer 2014-10-22 12:43:37

+0

當然。但我想避免手動添加id到每個輸入。也許有什麼方法可以在全球範圍內解決它? – 2014-10-27 11:39:21

+0

https://github.com/plataformatec/simple_form/wiki/Custom-inputs-examples – max 2014-10-27 18:23:22