小编Mag*_*num的帖子

Rails在Helper中渲染部分

我一直试图在我的控制器内的辅助函数中渲染我的一个部分.

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

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
Run Code Online (Sandbox Code Playgroud)

在视图中调用 <%= 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 …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-3.2

4
推荐指数
1
解决办法
6902
查看次数

标签 统计

ruby ×1

ruby-on-rails ×1

ruby-on-rails-3.2 ×1