2016-08-31 5 views
0
Rails 3.2 

私は会社のMVCを使ってレールアプリケーションを実行しています。モデル/ company.rbでRailsコンソールからルビースクリプトを実行

、私は次のような方法があります。

def save_company_pay_num 
    return false unless self.valid? 
    create_company_pay_num if self.company_pay_num.blank? 
    res = save_check_company_pay_num 
    unless res[0] 
    errors.add(:set_company_pay_num, res[1].try{|r| r.split(':')[1].strip.capitalize}) 
    return false 
    end 
    true 
end 

を私は再発行され、その支払番号を持っている必要があり、約1,000社を、持っています。

方法は、レールコンソールからファイルを実行するために、(Cレール)、あり、何かのように:私は、少なくともあなたが置くことができるので、このような行動の理由だか分からない

reset_pay_num.rb 

company_ids=[ 
    '1', 
    '2', 
    '3', 
    ... 
] 

company_ids.each do |c| 
    company = Company.find(c) 
    company.save_company_pay_num 
end 
+0

あまりにも多くない場合は、コンソールに内容を直接コピーすることができます –

+1

[rake task](http://guides.rubyonrails.org/command_line.html#custom-rake-タスク) – Dbz

答えて

4

あなたのスクリプトは、レールによって必要とされるファイルの中にいくつかのファイルの中にありますが、:

eval(File.read 'reset_pay_num.rb') 

はトリックを行います。

+0

これは一度だけのことで、私はアプリに触れたくありません。します – EastsideDeveloper

0

これらの目的のためにレーキタスクを作成する必要があると思います。

関連する問題