скрипт / рельсы против рельсов - PullRequest
23 голосов
/ 01 марта 2011

Я пишу учебник, в котором я демонстрирую некоторые команды rails.На моей машине rails и script/rails оба работают одинаково хорошо.Есть ли «предпочтительная» форма?Что из двух работает более универсально?

Ответы [ 11 ]

38 голосов
/ 01 марта 2011

Когда вы запускаете исполняемый файл rails в приложении Rails 3, он ищет файл script/rails и, если он присутствует, выполняет этот файл с аргументами, которые вы передали rails.

Причина, по которой вы используете rails вместо script/rails, обычно сводится к тому, что она короче.

Еще одна вещь, которую стоит отметить, есть также команда rails c, которая в приложении на Rails 2 создаст папку приложения с именем c внутри текущего каталога. Используя script/rails, этого не произойдет; вместо этого он будет жаловаться, что script/rails не существует.

14 голосов
/ 01 марта 2011

В Rails 3 это должны быть просто рельсы.

5 голосов
/ 16 июля 2011

"rails" покажет все об использовании скрипта:

Usage: rails COMMAND [ARGS]

The most common rails commands are:
 generate    Generate new code (short-cut alias: "g")
 console     Start the Rails console (short-cut alias: "c")
 server      Start the Rails server (short-cut alias: "s")
 dbconsole   Start a console for the database specified in config/database.yml
             (short-cut alias: "db")
 new         Create a new Rails application. "rails new my_app" creates a
             new application called MyApp in "./my_app"

In addition to those, there are:
 application  Generate the Rails application code
 destroy      Undo code generated with "generate"
 benchmarker  See how fast a piece of code runs
 profiler     Get profile information from a piece of code
 plugin       Install a plugin
 runner       Run a piece of code in the application environment

All commands can be run with -h for more information.
3 голосов
/ 21 октября 2011

Если вы используете Bundler, на самом деле безопаснее сказать

bundle exec rails

, так как тогда вы уверены, что запускаете версию rails, которая находится в комплекте вашего приложения.То же самое можно сказать и о

bundle exec rake
2 голосов
/ 19 января 2012

В оконной консоли мы должны написать скрипт / сервер ruby но на Ubuntu скрипт / сервер достаточно

рельсы s и рельсы c для рельса3

1 голос
/ 01 мая 2012

script/rails доступно только в папке приложения проекта.В частности, использование этого прервет попытку ОС найти rails из пути к среде и может вызвать ошибку (как это было на моем ПК).Чтобы создать новое приложение Rails, script/rails не будет работать, но rails будет.Я предлагаю вам придерживаться команды rails.

Другие команды, такие как script/generate, script/server, script/console, стали аргументами вызова rails.

1 голос
/ 17 июня 2011

Вы должны писать только Rails не потому, что это предпочтительнее, а просто потому, что с этого момента он станет стандартом.script / rails использовался в предыдущей версии rails, и сейчас он устарел.

Однако в данный момент обе команды имеют одинаковый эффект, вы ничего не можете сделать, используя rails вместо script / rails

0 голосов
/ 17 августа 2011
Сообщество

rails предоставляет множество возможностей для облегчения жизни разработчиков.Командные рельсы делают то же самое и используются многими разработчиками.По той же причине рельсы очень популярны.

0 голосов
/ 22 июня 2011

script/rails команды для Rails 2. Rails 3 использует rails. script/ команды не работают в моей установке.

0 голосов
/ 05 мая 2011

rails s или rails g scaffold ищите script/rails и просто передавайте свои аргументы. rails обычно предпочтительнее, потому что он короче и быстрее печатается.Однако, если кто-то попытается использовать rails s или rails c в приложении rails 2.X, он добавит еще одну папку приложения с таким именем, поскольку команда rails в 2.X создает приложение.

Если ваша демоверсия предназначена для работы на Rails 3, используйте только rails ..., если это более общее, не забудьте упомянуть, что rails 2 использует script/server ..., а не rails ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...