Редактирование файла .rb в консоли rails

Я пытаюсь отредактировать файл .rb с помощью rails.

Итак, я ввожу:

 $ rails c
 irb(main):001:0> require config/application.rb

и затем я получаю следующее сообщение об ошибке:

NameEror: неопределенная локальная переменная или метод `config' для main:Object from (irb):1

Что я делаю неправильно?


person Mel    schedule 12.11.2013    source источник
comment
Я не понимаю. Что именно (и для чего) вы хотите сделать? Почему вы хотите требовать config/application.rb? Если вы запускаете консоль rails, файл config/application.rb уже требуется.   -  person Marek Lipka    schedule 12.11.2013
comment
Привет, Марек, мне нужно изменить строку кода в файле, а затем я хочу активировать это изменение (я новичок в рельсах), и мне сказали сделать это из консоли, но это не работает.   -  person Mel    schedule 12.11.2013
comment
Rails Console в любом случае загружает ваше приложение — оно предназначено только для того, чтобы помочь вам выполнять основные команды и процессы. Я думаю, что вы вырвались из контекста с этим   -  person Richard Peck    schedule 12.11.2013
comment
@Mel, какие изменения ты хочешь сделать?   -  person Marek Lipka    schedule 12.11.2013
comment
Привет Рич. Но тогда, если я внесу изменение, например, при редактировании текста, как убедиться, что эти изменения активированы, если я сделаю это вне консоли рельсов?   -  person Mel    schedule 12.11.2013
comment
Вы можете запустить rails s из того же cmd, что позволит вам запустить приложение Rails на вашем локальном компьютере — это позволит вам увидеть, работает ли приложение так, как вы задумали. Кроме того, есть ряд тестовых жемчужин, таких как Capybara, которые могут вам помочь :)   -  person Richard Peck    schedule 12.11.2013


Ответы (2)


Вы не можете редактировать файлы с Rails Console -

Консольная команда позволяет вам взаимодействовать с вашим приложением Rails из командной строки. С другой стороны, консоль rails использует IRB, поэтому, если вы когда-либо использовали ее, вы будете чувствовать себя как дома. Это полезно для проверки быстрых идей с помощью кода и изменения данных на стороне сервера, не касаясь веб-сайта.

Если вы хотите отредактировать файлы .rb, я бы рассмотрел использование простого приложения для редактирования, такого как Notepad + + для фактического редактирования файла


Если вы хотите изменить часовой пояс для своего приложения, вам следует открыть application.rb в таком приложении, как Notepad++ или Dreamweaver, или в одном из Ruby IDE и введите следующую строку:

#app/config/application.rb
config.time_zone = 'Central Time (US & Canada)'

После того, как вы сохранили файл, перезапустите сервер Rails, и он должен был все изменить для вас. Очевидно, что существующие записи БД будут в старом часовом поясе, но это должно быть нормально.

person Richard Peck    schedule 12.11.2013
comment
Мне просто нужно изменить часовой пояс config.time_zone = 'Центральное время (США и Канада)', так что это просто, но мне было интересно, нужно ли мне выполнять это действие в определенной рубиновой среде. - person Mel; 12.11.2013
comment
Спасибо за комментарий!! Вы пытаетесь изменить часовой пояс для всего приложения, для сервера или для конкретных пользователей? - person Richard Peck; 12.11.2013
comment
для приложения и для сервера! (Ubuntu) мне нужно изменить его на UTC - person Mel; 12.11.2013
comment
stackoverflow .com/questions/6118779/ - person Richard Peck; 12.11.2013
comment
Без проблем! Если вам нужна дополнительная помощь, дайте мне знать :) - person Richard Peck; 12.11.2013

Я бы предложил использовать pry для этой задачи

gem install pry

После того, как вы запустите pry, вы увидите приглашение, как в консоли ruby.

входить:

edit -r config/application.rb

Откроется редактор (тот, который задается через переменную окружения EDITOR), и вы сможете изменить файл.

Когда вы закроете редактор, файл будет перезагружен и оценен прямо в консоли.

Проверьте это: https://github.com/pry/pry/wiki/Editor-integration

и, конечно же, это: http://pryrepl.org/

person astropanic    schedule 12.11.2013