rails 3将html标签打印到屏幕而不是渲染它们

时间:2010-08-01 14:00:36

标签: ruby-on-rails activescaffold ruby-on-rails-3

我正在使用vhochstein的active_scaffold分支,它在rails 3上运行得非常好,除了一些小错误 - http://github.com/vhochstein/active_scaffold

在rails 2.3中,以下代码禁用链接:

return "<a class='disabled'>#{text}</a>" unless authorized

但在Rails 3中,它会导致转出的html标签打印出来,如下图所示:

https://internet-websites.s3.amazonaws.com/image2886.png

如何使这个return语句的内容呈现出它在rails 3中的应用方式?

上面的代码来自vendor / plugins / active_scaffold / helpers /

中的list_column_helpers.rb文件

更新:

Floatless通过建议在代码中添加.html_safe来解决此问题。

我后来发现还需要进行以下更改,因为有多个代码可以响应在active_Scaffold中禁用操作链接:

在/plugins/active_scaffold/frontends/default/views/_list_actions.html.erb更改:

<%= record.authorized_for?(:crud_type => etc etc etc -%>

By making it use "raw"

i.e. 

<%= raw record.authorized_for?(:crud_type => etc etc etc -%>

无论如何,多亏了浮动,希望hochstein先生能够使用这些东西。

1 个答案:

答案 0 :(得分:12)

试试这个:

return "<a class='disabled'>#{text}</a>".html_safe unless authorized