Act As Taggable On——给模型添加标签

Act As Taggable On --Adding Tags to a Model

我想给一个模型添加一堆预定义的标签。

我已经将它添加到控制器中的参数中:

def photo_params
  params.require(:photo).permit(:image,:title, :description, :styles_list)
end

我还包括:

act_as_taggable_on :styles

现在我只是想添加标签,但在我的控制台中我不断收到以下错误: 尝试过 Photo.styles_list.add

得到

NoMethodError: undefined method `styles_list' for #<Class:0x007fa9ee74aac8>

然后我按照文档 https://github.com/mbleigh/acts-as-taggable-on/wiki/Add-Tags

中的描述尝试了 styles_list.add

但我仍然得到同样的错误,我做错了什么?

Photo.styles_list.add 正在尝试调用 Photo class 上的 styles_list 方法。那是不正确的。 styles_list 方法可用于照片对象。

Create/find一张照片对象如下:

@photo = Photo.new

@photo = Photo.find(params[:id])

然后可以使用以下标记样式:

@photo.styles_list.add("awesome")

请参阅 https://github.com/mbleigh/acts-as-taggable-on#usage 以更好地了解如何使用 gem。