2012-07-09 48 views
5

我正在使用simple_form gem。向simple_form輸入中添加額外數據

我渲染基於集合的輸入(名單我所有的actiontypes

<%= f.association :actiontype, collection: Actiontype.all, input_html: { data: {'impacts-pnl' => ??}} %> 

我希望能夠將數據屬性添加到輸入存儲額外的數據。

在這種情況下,我想存儲我的actiontypeimpacts_pnl屬性。唯一的問題是,我不知道如何來指代當前actiontype

collection.impacts_pnl不工作(顯然)

actiontype.impacts_pnl都不是。

如何將這些額外的數據傳遞給我的輸入?

回答

14

如果要將這些屬性添加到選擇字段的選項元素,則應使用例如.map()函數更改集合。此外,使用輸入幫助程序塊來做到這一點,否則它不工作;

= f.input :actiontype do 
    = f.select :actiontype, Actiontype.all.map{|a| [a.name, a.id, {"data-impacts-pnl" => p.impacts_pnl}]} 

有關此問題的詳細信息,請參閱https://github.com/plataformatec/simple_form/issues/188

+0

,謝謝,我已經錯過了,你需要指定'f.select'作爲塊的一部分的一部分! – Pierre 2012-07-10 16:31:45

+0

我怎麼有一個類'