2017-01-26 16 views
0

Rubyを初めて使用しました。カスタムパスワードでユーザーを作成するための簡単なRakeタスクを作成したい私はこのコードを試してみました:基本的なレーキタスクを作成する

namespace :users_create do 

    @passwd = 'trest333' 

    task create_users: :environment do 

    Rake::Task["create_cust:create_cust"].invoke 

    end 

    task :create_users, [:char] => :environment do |environment, args| 

    value = args[:char].to_s 

    if value.to_s.strip.length != 0 

     @passwd = value 

     Rake::Task["create_cust:create_cust"].invoke 

    end 
    end 

    task create_cust: :environment do 

    a = User.new 
     a.password = @passwd 
     a.save() 

     puts "password is #{@passwd}" 
    end 

end 

をしかし、私は、このコマンドのすくいcreate_cust使用してコードを実行すると:create_cust [some_new _pass]ホームコメディのパスワードが使用されていませんが。 CLI引数を送信すると、@passwd変数をどのように上書きできますか?

答えて

0

zshを使用する場合、rakeタスクにパラメータを渡す必要があります。create_cust:create_cust\[some_new _pass\]

0

セキュリティ上のリスクであるセッション履歴にパスワードが保存される可能性があるため、コマンドラインでパスワードを指定しないでください。必要な情報をユーザーに求め、モデルを作成し、エラーがあればそれを報告するタスクを作成することをお勧めします。私のアプローチは次のようになります:

あなたの必要に応じて、コマンドラインで指定された引数(電子メールなど)を求めないようにして拡張することができます。

関連する問題