这可能是一个虚假的问题。我在表单上有一个多值字段,其中包含以下Select2设置
jQuery('#mymodel_thing_ids').select2
multiple: true
placeholder: "Select things"
minimumResultsForSearch: -1
ajax:
url: "/things.json"
dataType: "json"
results: (data, page) ->
results: data
formatResult: (data) -> data.name
formatSelection: (data) -> data.name
提交带有所选内容的表单我正在
"thing_ids"=>"[],3,2"
即。初始值(空方括号)和所选事物的ID 。但我想跟随
"thing_ids"=>"[3,2]"
Select2可以吗?我做错了什么?
更新
为了避免在开头使用大括号,请在创建输入元素时使用 value =“”。
答案 0 :(得分:3)
问题是Select2发回一个字符串列表项,例如"thing_ids" => "1,2,3"
。以这种方式使用Select2时我所做的是为thing_tokens
和thing_tokens=
创建访问器方法,如下所示:
def thing_tokens
thing_ids.join(",")
end
def thing_tokens=(token_string)
self.thing_ids = token_string.split(",")
end
然后,在您的表单中,您将使其成为:thing_tokens
而不是thing_ids
的输入。如果您使用的是Rails 4,请确保您还允许在控制器中使用:thing_tokens
。