[英]How can I use existing Activerecord model in rails in ruby script
如果我在Rails应用程序的根目录中有一个ruby脚本,并且需要访问在Rails环境中创建的现有Activerecord模型。 我如何使用类似
user = User.new
在我的脚本中没有建立新的连接或创建新的类。
从命令行处理Rails模型有两种常用方法:
1)耙任务
在lib/tasks
创建一个rake lib/tasks
# example lib/tasks/foo.rake
desc 'an example task'
task :foo => [:environment] do
user = User.new
...
end
然后从命令行通过以下命令调用该任务:
rake foo
2)脚本运行器
在您的应用程序中创建一个完成任务的方法
# example in app/models/user.rb
class User < ActiveRecord::Base
...
def self.foo
user = User.new
...
end
end
并使用以下命令从命令行调用此方法:
rails runner "User.foo"
我更喜欢第二种方法,因为它更容易测试和重用代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.