如何显示html_safe但覆盖链接

时间:2014-01-23 17:23:54

标签: html ruby-on-rails haml

我正在使用https://github.com/ejholmes/active_admin_editor创建我的博客帖子。

所以在博客索引页面上我需要在html_safe中显示正文的前100个字符,所以它不是原始的html代码,但这也使链接处于活动状态。例如,如果在我的前几行中有一个出站链接,我需要使link_to blogpost_path(bp)覆盖我在html_safe主体内容中的任何链接。

#post-wrapper
    - @blogposts.each do |bp|
      = link_to blogpost_path(bp) do
        .blogpost
          .blog-title
            %h2= bp.title
            .blog-image
              - unless bp.attachment.url.include?('missing')
                = image_tag bp.attachment.url(:medium)
          .blog-author
            %p= "by #{bp.author}"
          .blog-date
            %p= time_tag bp.created_at
          .blog-body
            %p= bp.body[0..100].html_safe

1 个答案:

答案 0 :(得分:1)

我认为正确的做法是去掉这100个字符中你不想要的所有HTML标签。

您可以使用strip_tags删除所有内容,也可以strip_links删除链接。

您可以在此处找到详细信息:http://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html#method-i-strip_tags