Jir*_*ico 18 forms model ruby-on-rails simple-form
我有一个select字段,我想在其中放一个名为name的自定义属性,我试着这样做:
<%= f.association :in_charge, :collection => User.lawyer.map{ |l| [l.name, l.id, {:name => l.name.downcase}] } %>
Run Code Online (Sandbox Code Playgroud)
它工作并生成额外的属性,但是存在问题,选择值属性变为模型名称属性,在本例中为l.name.我更改了地方并首先放置了l.id但是显示了id属性,它们是重复的,任何想法为什么会发生这种情况?
是否有另一种方法可以在关联选择字段中定义自定义属性?
Wil*_*ler 24
使用Rails select()表单助手,由SimpleForm输入包装.
<%= f.input :in_charge do %>
<%= f.select :county_id, User.lawyer.map{ |l| [l.name, l.id, {:name => l.name.downcase}] } %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
您的代码无法按预期工作,因为在引擎盖下,SimpleForm调用collection_select(),它不支持选项标记中的额外属性.
SimpleForm自述文件也有解决方案.但我没注意到,直到我自己解决了这个问题:)