Rails任务命令和环境选择中的语法问题?

时间:2015-05-22 09:40:49

标签: ruby-on-rails ruby ruby-on-rails-4

在crons.rake中运行任务时出现此错误:

SyntaxError: /var/www/xyz/lib/tasks/crons.rake:12: syntax error, unexpected =>, expecting ')'
task (:clean_database => :environment) do

不要理解这一点,因为我在这个文件中有很多其他任务没有错误......

第二个问题是我希望此任务在开发和生产模式下运行,我该怎么做?

1 个答案:

答案 0 :(得分:1)

你不应该使用括号:

task :clean_database => :environment do

task clean_database: :environment do

如果你绝对必须(:))使用括号,不要在方法和它们之间放置空格:

task(clean_database: :environment) do

因为如果放置空格,Ruby会将括号内容解释为方法参数,而不是表达式。而这个表达

(:clean_database => :environment)

对它没有意义。