Eas*_*per 0 ruby-on-rails rails-console
Rails 3.2
Run Code Online (Sandbox Code Playgroud)
我有一个正在运行的 Rails 应用程序,带有 Company MVC。
在 models/company.rb 中,我有以下方法:
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
Run Code Online (Sandbox Code Playgroud)
我有大约 1,000 家公司需要重新发放工资号码。
有没有办法从 Rails 控制台(rails 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
Run Code Online (Sandbox Code Playgroud)
我不知道这种行为的原因是什么,因为至少您可以将脚本作为方法放入 Rails 所需的某个文件中,但是:
eval(File.read 'reset_pay_num.rb')
Run Code Online (Sandbox Code Playgroud)
会成功的。
| 归档时间: |
|
| 查看次数: |
2948 次 |
| 最近记录: |