Вопрос по forms, model, ruby-on-rails, simple-form – Поле выбора пользовательской ассоциации простой формы Rails

17

У меня есть поле выбора, и я хочу поставить собственный атрибут с именем name, я попытался сделать это так:

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

Он работает и генерирует дополнительный атрибут, но есть проблема, атрибут select value изменяется на атрибут имени модели, в данном случае l.name. Я поменял местами и сначала поставил l.id, но атрибут id отображается, они дублируются, есть идеи, почему это происходит?

Есть ли другой способ определить пользовательские атрибуты в полях выбора ассоциаций?

Ваш Ответ

1   ответ
25

Выбрать() помощник формы, обернутый вводом SimpleForm.

 <%= 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 () который не поддерживает дополнительные атрибуты в тегах параметров.

Readme SimpleForm имеетрешение также. Но я не заметил этого, пока сам не решил проблему :)

Похожие вопросы