Ruby on Railsで簡単なRake taskを作っています。
namespace :create_account do desc 'ユーザーを作る' task :user, [ 'login','password' ] => :environment do |task, args| User.create! ( login: args.login, password: args.password, password_confirmation: args.password ) end end
このようなrake taskがある場合、
bin/rake create_account:user[123, 123123]
だと
rake aborted! Don't know how to build task 'create_user:company[123,' (see --tasks)
一方
bin/rake "create_account:user[123, 123@123.jp, 123123]" bin/rake create_account:user[123,123123]
だと正常に終了します。
この3つの違いは何なのでしょうか?
ダブルクオーテーションを付けた時と付けなかった時でどう変わるのかが分かっていません。
引数の配列?の半角スペースを削った時に動くので半角スペースが原因であるというのは分かりましたが、""のありなしでどう変わるのか教えていただきたいです。
もう一つ
task :user, [ 'login','password' ] => :environment do |task, args|
の|task, args|
という箇所でargsという引数だけ使うので
|args|
だけに変更した所、NoMethodErrorでエラーが出ました。
ここの|task, args|
はセットみたいなものと考えていいのでしょうか?
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/21 03:50
2017/11/21 03:59
2017/11/21 04:12