ruby on rails - 如何发布tagsinput并获取数组作为结果

时间:2016-09-05 18:34:21

标签: ruby-on-rails ruby

我创建了一个名为tags_speciality

的字段

这是我的迁移文件:

class AddSpecialityToSubdomains < ActiveRecord::Migration
 def change
    add_column :subdomains, :tag_speciality, :string, array: true
 end
end

然后我在我的视图文件中添加了字段:

<%= f.text_field :tag_speciality, data: {role: 'tagsinput'},  multiple: true %>
<%= f.submit class: 'btn btn-primary' %>

提交表格后,我得到了结果:

[["tag1,tag2,tag3"]]

但看起来这样会更好地得到这个结果:

[["tag1","tag2","tag3"]]

我怎么能做到这一点?

由于

2 个答案:

答案 0 :(得分:3)

您可以在结果上执行以下操作:

arr = [["tag1,tag2,tag3"]]
result = arr[0][0].split(',')

#=> ["tag1", "tag2", "tag3"]

修改

我找到了flatten

的更好解决方案
arr.flatten.first
#=> ["tag1", "tag2", "tag3"]

答案 1 :(得分:3)

您可以在控制器中使用Ruby的split方法。 例如:

"tag1,tag2,tag3".split(',')
=> ["tag1", "tag2", "tag3"]