namespace :mails do
desc "Send emails"
task :send_emails => :environment do
User.not_deleted.find_each do |user|
Notifier.confirm_about_paid_access(user.id).deliver
end
end
desc "Free subscription for users registered in 2011"
task :free_subscription_for => :environment, :year do |t, args|
year = args[:year]
users = User::registered_in(year)
end
end
显示错误:lib/tasks/mails.rake:10:语法错误,意外keyword_do_block,预期 => 任务 :free_subscription_for => :环境, :年份 do |t, 参数|
语法代码中哪些不正确?
试试这个,
namespace :mails do
desc "Send emails"
task :send_emails => :environment do
User.not_deleted.find_each do |user|
Notifier.confirm_about_paid_access(user.id).deliver
end
end
desc "Free subscription for users registered in 2011"
task :free_subscription_for, [:year] => :environment do |t, args|
year = args[:year]
users = User::registered_in(year)
end
end
请注意:free_subscription_for
任务的语法。
在执行任务时,语法将rake mails:free_subscription_for["2016"]
希望这有帮助!