Я использую Redcarpet для выделения синтаксиса в моем приложении блога Rails.Сочетание усечения с уценкой Redcarpet в Rails: ссылки не работают
В моих сообщениях/index.html.erb, я хочу обрезать записи в блоге, чтобы просмотреть первые несколько предложений (или абзацев). Пользователь должен иметь возможность нажать «читать больше» в конце усеченного сообщения, чтобы прочитать весь пост в блоге. К сожалению, ссылка «читать дальше» не работает с Redcarpet (когда я не использую мой метод уценки (см. Ниже), ссылка работает нормально). Как я могу это исправить? Должен ли я использовать другие варианты в Redcarpet?
Мой метод уценки в /helpers/application_helper.rb с помощью Redcarpet:
def markdown(content)
renderer = HTMLwithPygments.new(hard_wrap: true, filter_html: true)
options = {
autolink: true,
no_intra_emphasis: true,
disable_indented_code_blocks: true,
fenced_code_blocks: true,
lax_html_blocks: true,
strikethrough: true,
superscript: true
}
Redcarpet::Markdown.new(renderer, options).render(content).html_safe
end
/views/posts/index.html.erb
<%= markdown (truncate(post.content,
length: 600,
separator: ' ',
omission: '... ') {
link_to "read more", post
}) %>
Кстати: я am looping через переменную @posts, поэтому «post.content» дает мне содержание одного сообщения, а «post» дает мне путь сообщения.
Текст «читать больше» появляется, но вы не можете щелкнуть по нему. Когда я оставляю метод «уценки», «read more» -link работает нормально.
Как я могу создать ссылку с помощью метода «уценки»?
К сожалению, это не работает, так как мой метод «уценки» принимает только один аргумент/параметр. – OhDaeSu
Ahh, извините, только что заметил, что ... Я обновлю. Попробуй это. –
Ничего себе, потрясающе, спасибо, это работает. Не могли бы вы объяснить, почему ваше решение работает/что происходит? – OhDaeSu