我想在模型中添加一堆预定义标签。
我已将它添加到控制器中的参数:
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
但我仍然得到同样的错误,我做错了什么?
答案 0 :(得分:0)
Photo.styles_list.add
正在尝试调用styles_list
类上的Photo
方法。那是不对的。照片对象上提供了styles_list
方法。
按如下方式创建/查找照片对象:
@photo = Photo.new
@photo = Photo.find(params[:id])
然后可以使用以下内容标记样式:
@photo.styles_list.add("awesome")
请参阅https://github.com/mbleigh/acts-as-taggable-on#usage以更好地了解如何使用宝石。