我按照http://railscasts.com/episodes/382-tagging里面的“From Scratch”方法添加的,但是我发现当我new一个demo的时候,tag数据库不会发生任何变化?这是为什么呢?哪里没有作对呢?
代码详见 https://github.com/tinyfool/DemoCodes
唯一跟382-tagging
里面有区别的是,我这里不是把tag
和article
绑定,而是跟demo
绑定,另外Demo.rb
里面,我发现attr_accessible
用了就报错,所以,尝试用
def accessible_attributes
return [:content, :title, :tag_list]
end
代替了。不过有没有accessible_attributes一定不能添加tag
你 github 上代码没有更新
http://railscasts.com/episodes/382-tagging 这个教程已经过时了吧,还是2012年的,看最新的文档吧 https://github.com/mbleigh/acts-as-taggable-on
Gemfile 中添加
gem 'acts-as-taggable-on'
然后运行
bundle
rails generate acts_as_taggable_on:migration
rake db:migrate
Model:
class Demo < ActiveRecord::Base
acts_as_taggable # Alias for acts_as_taggable_on :tags
end
Controller:
在 rails 4 中需要这样
class DemosController < ApplicationController
private
def demo_params
params.require(:demo).permit(:title, :content, :tag_list)
end
end