我正在尝试使用acts_as_taggable_on gem。一切都在控制台中工作,我可以使用模型实例来标记标签,渲染tag_list并根据所选标签链接到结果页面。我的问题是输入到创建表单的我的标签不会保存在数据库中。我已经检查过strong_params:
params.require(:contest).permit(:name, :description, :user_id, :show_name, :tag_list => [],...
答案 0 :(得分:0)
我在Rails 4.2,ruby 2.2和3.4 app上的act-as-taggable-have中遇到了同样的问题。我更改了控制器中的参数以更新模型。最初,我有
def update
@post = Post.find(params[:id])
if @post.update(params[:post].permit(:title, :body, :tag_list => []))
redirect_to @post
else
render 'edit'
end
端
我更改了参数:tag_list => []只是:tag_list。有用。我的代码现在如下所示:
def update
@post = Post.find(params[:id])
if @post.update(params[:post].permit(:title, :body, :tag_list))
redirect_to @post
else
render 'edit'
end
end
def tagged
if params[:tag].present?
@post = Post.tagged_with(params[:tag])
else
@posts = Post.postall
end
end
private
def post_params
params.require(:post).permit(:title, :body, :image, :image2, :tag_list => [])
end
希望这有帮助。