【问题标题】:unescape html render in railsunescape html在rails中呈现
【发布时间】:2012-10-10 22:10:55
【问题描述】:

现在,我有一个返回一些 html 并替换页面内容的部分。但对于我的生活,我无法让它解除渲染。

>     render(:partial => @partial)
>     => "<table>\n  <tr>\n    <td>\n      <input id=\"target_columns_\" name=\"target_columns[]\" type=\"checkbox\" value=\"id\" />\n     
> <label for=\"id\">Id</label><br />\n      <input
> id=\"target_columns_\" name=\"target_columns[]\" type=\"checkbox\"
> value=\"email\" />\n      <label for=\"email\">Email</label><br />\n  
> </td>\n    <td>\n      <input id=\"target_columns_\"
> name=\"target_columns[]\" type=\"checkbox\" value=\"created_at\" />\n 
> <label for=\"created_at\">Created at</label><br />\n      <input
> id=\"target_columns_\" name=\"target_columns[]\" type=\"checkbox\"
> value=\"updated_at\" />\n      <label for=\"updated_at\">Updated
> at</label><br />\n    </td>\n  </tr>\n</table>\n"

我尝试过原始的 html_safe... 似乎没有任何效果。我只是希望它是“”我想。现在,当我在页面上替换它时,由于某种原因,它实际上呈现为文本字段。

这里是替换页面内容并进行渲染的 JS。

$("#field-list").html('<%= j(render(:partial => @partial)) %>');

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    我最近遇到了同样的问题,一个好的方法是通过content_tag 构建 html。 请检查此主题:

    Helpers in Rails - What's the best approach when building the html string?

    【讨论】:

      【解决方案2】:
      = raw html
      

      或:

      = html.html_safe
      

      如果你使用haml,你可以试试等效的!=

      != render(:partial => @partial)
      

      而不是

      = render(:partial => @partial)
      

      【讨论】:

        猜你喜欢
        • 2018-06-06
        • 2014-05-01
        • 1970-01-01
        • 2011-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-28
        • 1970-01-01
        相关资源
        最近更新 更多