Ответ 1
Вы находитесь в корневом пути вашего приложения при вводе $ rails console
?
Совет: $ rails c
является ярлыком для $ rails console
Я набрал это:
>rails console
и получил следующее:
Usage:
rails new APP_PATH [options]
Options:
[--skip-gemfile] # Don't create a Gemfile
-d, [--database=DATABASE] # Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite3/frontbase/ibm_db)
# Default: sqlite3
..
..
.
Я слежу за учебником по рельсам и застрял на этом.
У меня установлен рельсы 3.0.
Вы находитесь в корневом пути вашего приложения при вводе $ rails console
?
Совет: $ rails c
является ярлыком для $ rails console
В случае, если кто-либо другой ударил это, мои симптомы были:
Я развернул свое приложение с Capistrano 3
Я подключился к каталогу приложений, а консоль rails не работала
Оказалось, что я включил папку bin в качестве символического каталога в моем развертывании шапки, как показано ниже:
set: linked_dirs,% w {log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}
... и мой каталог bin в 'shared' был пуст.
Два исправления:
Затем я повторно развернутый и работает.
Я просто столкнулся с этой проблемой при обновлении приложения Rails 2 до Rails 3. При запуске rails console
(или действительно rails [anything]
) в корневом каталоге приложения я увижу общий вывод использования rails new
(как Бланкман ссылка на исходный вопрос).
Проблема заключалась в том, что я не удалил старые сценарии Rails 2 из каталога script
. После удаления всего в каталоге script
и добавления файла script/rails
, который автоматически создается в каждом новом приложении Rails 3, команда rails
теперь работает как ожидалось.
Чтобы получить последнее содержимое файла script/rails
, создайте новое приложение и скопируйте файл в свое приложение Rails 2, которое вы обновляете. Начиная с Rails 3.0.7, вот что в этом файле:
#!/usr/bin/env ruby
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
APP_PATH = File.expand_path('../../config/application', __FILE__)
require File.expand_path('../../config/boot', __FILE__)
require 'rails/commands'
У меня была эта проблема, когда я обновил Rails 2 до 3 и смог исправить ее, выполнив то, что сказал Ник, а затем запустил bundle exec rails console production
.
В Rails 2.3.x команда script/console
в данном каталоге приложений Rails запускает консоль Ruby со средой Rails по умолчанию, загруженной в память. Не уверен, что Rails 3.0 тот же или нет.
Вам нужно войти в каталог проекта и команду rails console
например:
D:\workspace\>rails blog
D:\workspace\>cd blog
D:\workspace\blog\> rails c
loading en...
Вы находитесь в каталоге рельсов 3?
У вас установлено несколько версий рельсов?
попробуйте проверить "какие рельсы" и убедитесь, что это исполняемый файл rails 3, который вы используете, - это использование выглядит как рельсы 2.x.
Вы используете правильную команду (rails console
), но скорее всего вы не находитесь в рабочем каталоге этого приложения. Измените каталог на корень вашего приложения rails (под которым вы найдете /scripts
, /app
и т.д.), И команда должна работать по желанию.
Примечание. Использование script/console
или ruby script/console
для более ранних версий Rails.
В моем случае bin/rails c
отработал корневую папку приложения