5

simple_formgemを使用しています。

actiontypesコレクション(すべてのリスト)に基づいて入力をレンダリングしています

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

入力にデータ属性を追加して、追加のデータを格納できるようにしたいと思います。

この場合、自分のimpacts_pnl属性を保存したいと思いactiontypeます。唯一の問題は、現在の参照方法がわからないことですactiontype

collection.impacts_pnl動作しません(明らかに)

actiontype.impacts_pnlない。

この余分なデータを入力に渡すにはどうすればよいですか?

4

1 に答える 1

15

これらの属性をselectfieldのoption-elementsに追加する場合は、たとえば.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を参照してください。

于 2012-07-10T12:41:34.013 に答える