-
-
Save zachwaugh/521133 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby | |
# Load Rails | |
ENV['RAILS_ENV'] = ARGV[0] || 'production' | |
DIR = File.dirname(__FILE__) | |
require DIR + '/../config/environment' | |
# ... do stuff that requires using your rails models |
#!/usr/bin/env ruby
require File.expand_path('../config/environment', __FILE__)
worked for me on Rails 3 (one-shot script located in Rails.root)
works on Rails 4 for me, but only when i run from the main Rails root. I'm sure it's based on a basic tweak I could make to have it run in a subdir, but i'm lazy today.
In Rails 4 or 3, you can try to copy the config from the file test/test_helper.rb
and change the path then everything should work correctly.
cool~
@lloeki your solution worked for me in rails 3.
FYI, I think that should be:
#!/usr/bin/env ruby
require File.expand_path('../config/environment', File.dirname(__FILE__))
# or
require "#{File.dirname(__FILE__)}/../config/environment"
Otherwise, the script will not work in the script
subdirectory.
👍 require File.expand_path('../config/environment', File.dirname(__FILE__))
works (Rails 5.2)
even better: require_relative '../config/environment'
my 2 cents
rails r hello.rb
executes hello.rb
as if it is a part of rails app
@giddie require File.expand_path('../config/environment', File.dirname(__FILE__))
worked for me too, thank you!
Is this current for Rails 3/4? It's my top Google result for "rails script load environment" so it might be worth updating.