无法使用acts_as_taggable从模型表单中分配Rails 4.2中的标记

时间:2015-03-13 22:25:31

标签: ruby-on-rails acts-as-taggable-on

我正在尝试使用acts_as_taggable_on gem。一切都在控制台中工作,我可以使用模型实例来标记标签,渲染tag_list并根据所选标签链接到结果页面。我的问题是输入到创建表单的我的标签不会保存在数据库中。我已经检查过strong_params:

params.require(:contest).permit(:name, :description, :user_id, :show_name, :tag_list => [],...

1 个答案:

答案 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

希望这有帮助。