使用 Rails5 在文本区域中的 return 按键处应用 p html-tag
Applying p html-tag at return key press in textarea with Rails5
我有一个文本输入框供人们写一个非常基本的描述,这个描述可以是段落。当前,当用户点击 return(输入)键时,它不会创建新段落,除非用户手动编写
HTML 标签。但并非所有用户都知道 html-tags。当用户点击 return 键时,我如何将其应用为默认值。
我正在使用 simple_form gem:
<%= simple_form_for @post, html: {multipart: true} do |f| %>
<%= f.input :description, label: "Description:", input_html: { cols: 66, rows: 5, maxlength: 1500 }, as: :text %>
我在显示时使用了清理 gem
<%= Sanitize.fragment(@post.description, Sanitize::Config::BASIC).html_safe %>
谢谢!
我建议在呈现 @post.description
时使用像 redcarpet 这样的降价解析器。我以前就是这样处理这种事情的。
根据文档安装 redcarpet 后,创建一个这样的辅助方法(根据需要进行调整):
def markdown(text)
return "" unless text.present?
options = {
filter_html: true,
hard_wrap: true,
link_attributes: { rel: 'nofollow', target: "_blank" },
space_after_headers: true,
fenced_code_blocks: true
}
extensions = {
autolink: true,
superscript: true,
disable_indented_code_blocks: true
}
renderer = Redcarpet::Render::HTML.new(options)
markdown = Redcarpet::Markdown.new(renderer, extensions)
markdown.render(text).html_safe
end
然后您可以在您的视图中使用它 <%= markdown(@post.description) %>
以您想要的方式呈现描述。
我有一个文本输入框供人们写一个非常基本的描述,这个描述可以是段落。当前,当用户点击 return(输入)键时,它不会创建新段落,除非用户手动编写
HTML 标签。但并非所有用户都知道 html-tags。当用户点击 return 键时,我如何将其应用为默认值。我正在使用 simple_form gem:
<%= simple_form_for @post, html: {multipart: true} do |f| %>
<%= f.input :description, label: "Description:", input_html: { cols: 66, rows: 5, maxlength: 1500 }, as: :text %>
我在显示时使用了清理 gem
<%= Sanitize.fragment(@post.description, Sanitize::Config::BASIC).html_safe %>
谢谢!
我建议在呈现 @post.description
时使用像 redcarpet 这样的降价解析器。我以前就是这样处理这种事情的。
根据文档安装 redcarpet 后,创建一个这样的辅助方法(根据需要进行调整):
def markdown(text)
return "" unless text.present?
options = {
filter_html: true,
hard_wrap: true,
link_attributes: { rel: 'nofollow', target: "_blank" },
space_after_headers: true,
fenced_code_blocks: true
}
extensions = {
autolink: true,
superscript: true,
disable_indented_code_blocks: true
}
renderer = Redcarpet::Render::HTML.new(options)
markdown = Redcarpet::Markdown.new(renderer, extensions)
markdown.render(text).html_safe
end
然后您可以在您的视图中使用它 <%= markdown(@post.description) %>
以您想要的方式呈现描述。