Есть разница между командами start rails?

#ruby-on-rails

#ruby-on-rails

Вопрос:

 $ RAILS_ENV=dev bundle exec rails c
Loading dev environment (Rails 4.0.4)
[1] pry(main)> exit

$ bundle exec rails c RAILS_ENV=dev
error occur...
  

Есть разница между этими двумя командами запуска rails?

Комментарии:

1. ДА. Одна работает; другая ломается.

Ответ №1:

Да, они разные, что также показано результатом!

RAILS_ENV=dev bundle exec rails c установит переменную, RAILS_ENV равную dev , которая становится доступной перед bundle exec rails c выполнением. Итак, bundle exec rails c увидит эту переменную и будет использовать ее.

С помощью bundle exec rails c RAILS_ENV=dev , RAILS_ENV=dev становится параметром для bundle exec rails c , и поскольку RAILS_ENV=dev , литерал считается средой, потому что первым аргументом для rails c , если он указан, является среда. Вероятно, ошибка связана с тем, что у вас нет среды по имени RAILS_ENV=dev .

Чтобы успешно выполнить вторую команду, вы могли бы сделать: bundle exec rails c dev .