unescape html渲染在rails中

时间:2012-10-10 22:10:56

标签: ruby-on-rails

现在,我有一个部分返回一些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"

我尝试过raw,html_safe ......似乎没什么用。我只是想让它成为“”我想。现在,当我在页面上替换它时,它实际上由于某种原因呈现为文本字段。

继承了替换页面上内容的JS,并进行渲染。

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

= raw html

或:

= html.html_safe

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

!= render(:partial => @partial)

代替

= render(:partial => @partial)