加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails在Helper中渲染部分

发布时间:2020-12-17 02:46:11 所属栏目:百科 来源:网络整理
导读:我一直试图在我的控制器内的辅助函数中渲染我的一个部分. 我遇到的第一个问题是帮助器返回每个循环而不是循环的结果.为了解决这个问题,我尝试让它返回一个包含循环结果的字符串. def display_replies(comment) if comment.replies.count 0 string = "" comme
我一直试图在我的控制器内的辅助函数中渲染我的一个部分.

我遇到的第一个问题是帮助器返回每个循环而不是循环的结果.为了解决这个问题,我尝试让它返回一个包含循环结果的字符串.

def display_replies(comment)
    if comment.replies.count > 0
        string = ""
        comment.replies.each do |reply,index|
        string = string + (render partial: "comment",locals: {index: index}).to_s.html_safe
        end
        string
    end

在视图中调用<%= display_replies(reply)%>

当我查看我的视图时,返回并显示的内容是HTML,但它是转义的,因此是纯文本,它看起来像这样:

["<div class='c comment'>n<div class='profile'>n<img src='/assets/profile_image_sample.jpg'>n</div>n<div class='message'>n<div class='username'>Will Leach</div>nLorem ipsum dolor sit amet,consectetur adipiscing elit. Vivamus adipiscing purus et mi aliquet malesuada. Curabitur porttitor varius turpis eget sollicitudin. Lorem ipsum dolor sit amet,consectetur adipiscing elit. Ut dapibus consectetur tortor,nec aliquet lacus tempus vitae. Sed felis massa,dapibus in arcu sit amet,rhoncus condimentum eros. Etiam rutrum lectus in malesuada aliquam. Mauris vitae diam vel felis accumsan vulputate vel nec tortor. Nunc pretium hendrerit est,ut cursus ipsum commodo sit amet.n<div class='reply-link'>n<a href='#'>Reply to Comment</a>n</div>n</div>n</div>n"]

我只是想这是常规的非转义HTML.我在某处读到添加html_safe会解决这个问题,但唉它没有.

然后去哪儿?

解决方法

实际上,html_safe应该像这样使用: –

<%= display_replies(reply).html_safe %>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读