我正在使用select2 gem与acts as taggable gem
我把它保存到数据库中。
控制器:
def skit_params
params.require(:skit).permit(:idea, :description, :thetag_list).merge(user_id: current_user.id)
end
形式:
= f.select :thetag_list, options_for_skit, {}, { id: "thetag_tag", multiple: true }
模型:
class Skit < ActiveRecord::Base
acts_as_taggable_on :thetags
end
coffescript:
$('#thetag_tag').select2
theme: "bootstrap"
在我的控制台中:
Parameters: {"utf8"=>"✓",
"authenticity_token"=>"blah",
"skit"=>{"thetag_list"=>["", "tag2", "tag42", "tag320"]},
"commit"=>"Update"}
我让我的控制台显示标签,但是,总会显示1个空标签,并且没有标签保存到数据库中。
我检查了数据库控制台select * from tags;
,没有任何内容。我试图做= @skit.thetag_list
而没有任何表现。
答案 0 :(得分:0)
刚才发现,在我强大的参数上,我需要添加
atd.staticMethod()
像这样:
:thetag_list => []
同样奇怪的是,这个params.require(:skit).permit(:idea, :description, :thetag_list => []).merge(user_id: current_user.id)
需要是最后一个,否则你会收到错误,我不确定为什么会这样,例如:
[]
会出错。也许有人可以讨论这个问题?