Run Ruby Script in Rails Environment
If you wanna execute some ruby code in rails environment, say manipulate w/ model or something, you can always try
rake task first. But there're circumstances you don't want to use it, maybe it's just a one-time script that you don't want to save it to git, or whatever.
I've found out there're two simple ways to accomplish it.
# test.rb require "config/environment" p User.first # in terminal ruby test.rb
use rails runner
runner runs Ruby code in the context of Rails non-interactively. For instance:
rails runner "p User.first" rails runner some_ruby_script.rb rails runner -e staging "Model.long_running_method" rails runner -h
You can also use the alias “r” to invoke the runner:
I failed to call
rails r on Rails 3.0.10, maybe it's above 3.1+.