Ruby on rails Rails简单表单自定义关联选择字段
我有一个select字段,我想在其上放置一个名为name的自定义属性,我尝试这样做:Ruby on rails Rails简单表单自定义关联选择字段,ruby-on-rails,forms,model,simple-form,Ruby On Rails,Forms,Model,Simple Form,我有一个select字段,我想在其上放置一个名为name的自定义属性,我尝试这样做: <%= f.association :in_charge, :collection => User.lawyer.map{ |l| [l.name, l.id, {:name => l.name.downcase}] } %> User.lawyer.map{l|[l.name,l.id,{:name=>l.name.downcase}]}%> 它可以工作并生成额外属性,
<%= f.association :in_charge, :collection => User.lawyer.map{ |l| [l.name, l.id, {:name => l.name.downcase}] } %>
User.lawyer.map{l|[l.name,l.id,{:name=>l.name.downcase}]}%>
它可以工作并生成额外属性,但有一个问题,选择值属性被更改为model name属性,在本例中为l.name。我改变了位置,把l.id放在第一位,但是id属性被显示,它们被复制了,你知道为什么会这样吗
是否有其他方法在关联选择字段中定义自定义属性?使用Rails表单帮助程序,由SimpleForm输入包装
<%= f.input :in_charge do %>
<%= f.select :county_id, User.lawyer.map{ |l| [l.name, l.id, {:name => l.name.downcase}] } %>
<% end %>
l、 name.downcase}]}%>
您的代码无法按预期工作,因为在后台,SimpleForm调用不支持选项标记中的额外属性
SimpleForm自述文件也具有相同的功能。但我没有注意到,直到我自己解决了这个问题:)对于记录,这似乎现在起作用了:
f.association :product, collection: Product.all.map { |product| [product.name, product.id, {data: {description: product.description}}] }
SimpleForm版本:
$ bundle show simple_form
/Users/josh/.rvm/gems/ruby-2.4.1@a4aa2/gems/simple_form-4.1.0