ruby-on-rails - 如何在 rake 任务中使用 ActiveRecord 模型和参数

标签 ruby-on-rails ruby activerecord rake

在 rake 任务中,我使用这样的参数:

namespace :foo do
  task :bar, [:arg1] do |t, args|
    puts args[:arg1]
  end
end

我想使用 ActiveRecord 模型,我添加 => :environment 如下:

namespace :foo do
  task :bar => :environment, [:arg1] do |t, args|
    puts args[:arg1]
  end
end

当我运行rake foo:bar[1]时,它最终出现错误:

rake aborted!
SyntaxError: /home/ironsand/rails_project/lib/tasks/foo.rake:2: syntax error, unexpected keyword_do_block, expecting =>
  task :bar => :environment, [:arg1] do |t, args|

如何在 rake 任务中同时使用 ActiveRecord 模型和参数?

最佳答案

正确的语法是:

namespace :foo do
  task :bar, [:arg1] => :environment do |t, args|
    puts args[:arg1]
  end
end

关于ruby-on-rails - 如何在 rake 任务中使用 ActiveRecord 模型和参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24342328/

相关文章:

ruby-on-rails - Rails - 销毁嵌套属性的子级

ruby-on-rails - 可以轻松与 Rails 集成的 Web 支付 API/服务

ruby - 在 ruby​​ 中匹配后是否有从 $1...$n 分配的简写

mysql - Rails - 终止正在运行的查询的正确方法

ruby-on-rails - 将 erb 从数据库渲染到 View 问题请帮助!

ruby-on-rails - 在 IE7 中使用 Prawn 生成 Rails PDF

ruby-on-rails - Ruby 源文件名与 `require` 冲突

ruby-on-rails - 在 Ruby 中下载 docx 文件会失去其只读属性

mysql - 不使用 find_by_sql 将 Mysql 查询转换为 Rails ActiveRecord 查询

ruby - 如何确定 Rails 3 模型类中的表名