18

選択フィールドがあり、名前と呼ばれるカスタム属性を配置したいので、次のようにしようとしました:

 <%= f.association  :in_charge, :collection => User.lawyer.map{ |l| [l.name, l.id, {:name => l.name.downcase}] } %>    

これは機能し、追加の属性を生成しますが、問題があります。select value 属性がモデル名属性 (この場合は l.name) に変更されます。場所を変更して l.id を最初に配置しましたが、 id 属性が表示され、重複して表示されます。なぜそれが起こるのですか?

関連選択フィールドでカスタム属性を定義する別の方法はありますか?

4

2 に答える 2

27

SimpleForm 入力でラップされたRails のselect()フォーム ヘルパーを使用します。

 <%= f.input :in_charge do %>
   <%= f.select :county_id, User.lawyer.map{ |l| [l.name, l.id, {:name => l.name.downcase}] } %>
 <% end %>

内部では、SimpleForm がcollection_select()を呼び出しますが、これはオプション タグで追加の属性をサポートしていません。

SimpleForm の readme にも解決策があります。しかし、私は自分で問題を解決するまでそれに気づきませんでした:)

于 2012-12-13T16:09:53.787 に答える