作为可标记行为使用一种范围(tagger?)和上下文

时间:2018-07-30 19:10:08

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

“我的应用程序”使用“行为可标记”来标记Content。内容belongs_toCompany

现在所有创建的标签都应该属于使用过的公司,其他公司不可见。

我该如何使用行为可标签解决此问题?作为上下文,我目前使用:content。就我而言,这家公司是Tagger(所有者)吗?

感谢您的澄清。

1 个答案:

答案 0 :(得分:4)

我通过声明Company为标记器来解决了这个问题。

class Company < ApplicationRecord
  acts_as_tagger
end

控制器动作如下所示:

def create
  if params[:content].has_key?(:content_tag_list)
    content_tag_list = params[:content][:content_tag_list]
    params[:content].delete(:content_tag_list)
  end

  @content = Content.new(content_params)
  if @content.save
    if content_tag_list
      @content.company.tag(@content, with: content_tag_list, on: :content_tags)
    end
    redirect_back fallback_location: your_path
  else
    render :new
  end
end