Rails选择标记返回连字符

时间:2013-05-23 04:27:47

标签: ruby-on-rails-3 multiple-select html-select

我已经使用rails select标签在我的应用程序中实现了多选区域

<%= f.select(:tag, ['Phone', 'Email','Website','Address', 'Occupation'], {},  :id=>"multiple",:class=>"select2", :multiple=>"multiple" ,:style=>"width:200px" ) %>

我面临的问题是,feild returs的值总是包含一些不需要的连字符和引号。例如,如果我从多选菜单中选择'Phone'和'Email',它返回的值就是这样的 - --- - '' - Phone - Email

为什么这样开心呢?除非能解决问题,否则我无法继续前进,任何线索?

我添加了一个Jscript来提供视图部分

中平铺标记字段的外观
  <script>
    $('.select2').select2({ placeholder : '' });
 </script>

当我删除上面给出的脚本

时,问题不会发生

2 个答案:

答案 0 :(得分:2)

我想,应该写成如下:

<%= f.select :tag, options_for_select(["Phone", "Email", "Website", "Address", "Occupation"]), :id=>"multiple",:class=>"select2", :multiple=>"multiple" ,:style=>"width:200px" %>

修改 尝试以下选项,它可能适合您:

<%= f.select(:tag,  %w[Phone Email Website Address Occupation], {},  :id=>"multiple",:class=>"select2", :multiple=>"multiple" ,:style=>"width:200px" ) %>

另请参阅http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#M001624

答案 1 :(得分:1)

可以str.gsub!(/\'/, '')然后str.gsub!(/-/, ''),虽然这可能不是一个好主意。