Ruby 独立脚本中的 RoR 环境
我想运行一个独立的 ruby 脚本,在其中需要使用我的 RoR 环境。 具体来说,我需要我的模型扩展 ActionMailer 和 ActiveRecord。 我还需要从我的database.yml 中读取数据库配置。 我该怎么办?
I want to run a standalone ruby script in which I need my RoR environment to be used. Specifically, I need my models extending ActionMailer and ActiveRecord. I also need to read the database configuration from my database.yml.
How do I go about it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
最简单的方法是将脚本的 shebang 从 : 更改
为
Et voilà,您的脚本将在加载完整的 Rails 环境的情况下运行。 您还可以将脚本作为
./my_script -e production
运行,以使其与生产数据库一起运行。The easiest way is to change the shebang of your script from :
to
Et voilà, your script will be run with the full rails environment loaded. You can also run your script as
./my_script -e production
to have it run with the production database.查看此线程:
如何运行使用 Rails 的 Ruby 任务模型?
本质上它可以归结为:
玩得开心!
Check out this thread:
How do I run Ruby tasks that use my Rails models?
Essentially it boils down to:
Have fun!
我认为做到这一点的最好方法就是让它成为一个 rake 任务。
[:environment] 节加载 Rails 环境。
I think the best way to do this is to make it a rake task.
The [:environment] stanza loads the rails environment.