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

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

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

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

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

uninitialized constant ArticlesController::Asciidoctor

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


person CroneKorkN    schedule 17.06.2014    source источник
comment
Глупый вопрос, так как документация выглядит точно так же, как ваш пример: вы перезапустили сервер? И если да, то используете ли вы Rails 4.1/Spring?   -  person DMKE    schedule 18.06.2014
comment
Я не перезапускал сервер. Вы решили это. Спасибо.   -  person CroneKorkN    schedule 18.06.2014
comment
Я добавлю ответ, который вы можете принять :-)   -  person DMKE    schedule 18.06.2014
comment
Спасибо, искал способ установить мой ответ как решенный. Очевидно, что для этого должен быть хотя бы один ответ.   -  person CroneKorkN    schedule 18.06.2014
comment
Под вашим вопросом, рядом со ссылкой на редактирование, есть еще две ссылки, закрыть и удалить, которые позволяют проголосовать за любой вариант. Может быть, они становятся видны только с ростом репутации…   -  person DMKE    schedule 18.06.2014


Ответы (1)


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

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

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

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

person DMKE    schedule 17.06.2014
comment
Я не понимаю, почему там puts. Является ли контекст рубиновой консолью или шаблоном просмотра рельсов? Если последнее, то это должно быть что-то вроде <%= %> или = или == вместо puts. Отсутствие указания контекста в документации, вероятно, является самой запутанной частью для людей, которые еще не знают его наизнанку. - person ahnbizcad; 27.10.2014
comment
Пример был скопирован из документации AsciiDoc (которая, я думаю, изменилась с июня). Конечно, puts в коде вашего приложения напечатает отображаемую строку в $stdout и будет либо отброшена, либо перенаправлена ​​в файл журнала, в зависимости от конфигурации сервера. Мне нравится верить, что это базовые знания для разработчика веб-приложений... - person DMKE; 27.10.2014