Использование Asciidoctor в Rails

#ruby-on-rails #ruby #gem #asciidoctor

#ruby-on-rails #ruby #rubygems #asciidoctor

Вопрос:

я пытался использовать asciidoctor gem в своем приложении rails. Я добавил его в свой Gemfile и сделал bundle install .

Теперь я пытаюсь использовать asciidoctor внутри контроллера:

 def show
  @article.text = Asciidoctor.render(@article.text)
end
  

Но я получаю сообщение об ошибке:

 uninitialized constant ArticlesController::Asciidoctor
  

Как правильно использовать asciidoctor-gem с rails?

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

1. Глупый вопрос, поскольку документация выглядит точно так же, как ваш пример: вы перезапустили сервер? И если да, используете ли вы Rails 4.1 / Spring?

2. Я не перезапускал сервер. Вы решили это. Спасибо.

3. Спасибо, искал способ установить мой ответ как решаемый. Очевидно, что для этого должен быть хотя бы один ответ.

4. Под вашим вопросом, рядом со ссылкой на редактирование, есть еще две ссылки: «закрыть» и «удалить», которые позволяют проголосовать за любой вариант. Возможно, они становятся видимыми только с увеличением репутации…

Ответ №1:

Пожалуйста, не забудьте перезапустить свой сервер после изменения чего-либо за пределами пути автоматической перезагрузки Rails (т. Е. app/* И config/routes.rb ).

Поскольку документация выглядит точно так же, как ваш пример

 puts Asciidoctor.render '*This* is http://asciidoc.org[AsciiDoc]!'
  

Я бы предположил, что вы просто забыли перезапустить сервер.

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

1. Я не понимаю, почему puts это так. Является ли контекст консолью ruby или это шаблон представления rails? Если последнее, то это должно быть что-то вроде <%= %> или = или == вместо puts . Отсутствие указания контекста в документации, вероятно, является самой запутанной частью для людей, которые еще не знают его изнутри.

2. Пример был скопирован из документации AsciiDoc (которая, я полагаю, изменилась с июня). Конечно, a puts в коде вашего приложения напечатает отображаемую строку $stdout и будет либо удалена, либо перенаправлена в файл журнала, в зависимости от конфигурации сервера. Мне нравится верить, что это базовые знания для разработчика веб-приложений…