【发布时间】:2013-08-23 22:49:53
【问题描述】:
我在使用rake db:seed 时有一个DEPRECATION WARNING
This dynamic method is deprecated.
这发生在下面区块的user.add_role :admin:
user = User.find_or_create_by(email: ENV['ADMIN_EMAIL'].dup) do |u|
u.password = ENV['ADMIN_PASSWORD'].dup
u.password_confirmation = ENV['ADMIN_PASSWORD'].dup
end
puts 'user: ' << user.email
user.add_role :admin
user.skip_confirmation!
user.save!
我已经清理了find_or_create_by_email 警告的代码,但我找不到add_role 的答案。
【问题讨论】:
-
我不认为这个弃用警告来自康康。您可能可以从这个问题中删除 cancan 标签。
add_role定义在哪里? -
我在我的代码中找不到这个方法。我的应用程序基于 github.com/RailsApps/rails3-bootstrap-devise-cancan 但此模板适用于 Rails 3.x,我使用的是 4。我认为这是在设计或 rolify 中提供的帮助程序,我是去检查这些宝石的来源。