将额外数据添加到simple_form输入

时间:2012-07-09 15:43:42

标签: ruby-on-rails-3 simple-form

我正在使用simple_form gem。

我正在根据集合(我所有actiontypes)的列表

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

我希望能够在输入中添加数据属性来存储额外的数据。

在这种情况下,我想存储impacts_pnl的{​​{1}}属性。唯一的问题是我不知道如何引用当前的actiontype

actiontype不起作用(显然)

collection.impacts_pnl既不。

如何将这些额外的数据传递给我的输入?

1 个答案:

答案 0 :(得分:15)

如果要将这些属性添加到选择域的选项元素,则应使用例如.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