Ruby: 2.0.0p0, Rails: 3.2.13, redcarpet: 2.2.2
application_helper.rb
redcarpet-2.2.2 не приходит содержание
def markdown(text)
markdown_render = Redcarpet::Render::HTML.new(:hard_wrap => true, :no_styles => true)
markdown = Redcarpet::Markdown.new(markdown_render, :autolink => true, :no_intro_emphasis => true)
markdown.render(text).to_html.html_safe
end
app/views/questions/new.html.erb
<%= simple_form_for @question do |f| %>
<%= f.input :title, :input_html => { :class => "span6" } %>
<%= markdown(@question.content) %>
<%= f.button :submit, :class => 'btn-primary' %>
<%= link_to 'Cancel', @question.id.blank? ? questions_path : question_path(params[:question]), :class => "btn btn-danger" %>
<% end %>
Но наступает ошибка: wrong argument type nil (expected String)
, затем я изменил <%= markdown(@question.content) %>
на <%= markdown(@question.content.to_s) %>
, тогда приходит эта ошибка: undefined methodto_html' for "":String
, поэтому я изменил markdown.render(text).to_html.html_safe
на markdown.render(text).html_safe
в application_help.rb
, и он просто имеет поле ввода заголовка, поле ввода содержимого пропустило.
Как я могу исправить эту проблему, и если вам нужна дополнительная информация, сообщите мне.
Я не пользователь Redcarpet. Я должен угадать. Попробуйте новую версию, которую я только что редактировал. Кажется, вам не нужна часть to_html. – wintermeyer
Да, вы правы. Я удалил часть to_html, и она работает. – zjhui