有多个参数的rake任务 - 我卡住了

时间:2013-02-05 17:46:16

标签: ruby-on-rails argument-passing rake-task

rake任务本身:

desc "This task creates a new user"
task :create_user, [:email, :password] => :environment do |t, args|
  trole = Role.find_by_name('translator')
  User.create(
      :email => args.email,
      :password => args.password,
      :password_confirmation => args.password,
      :role_id => trole.id)
end

电话:

rake create_user[user@host.com,password]

输出:

rake aborted!
Don't know how to build task 'create_user'

我真的卡住了。我在StackOverflow上找到的所有建议,即使在这里,都没有涵盖两个参数的情况,或者过时/不起作用。请帮忙!

1 个答案:

答案 0 :(得分:0)

你写的语法应该在bash中正常工作,所以我猜你正在使用zsh?

如果是这样,它无法正确解析[],这些都需要转义。

尝试使用:

rake create_user\[user@host.com,password\]

代替。