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

ste*_*och 3 activescaffold ruby-on-rails 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
Run Code Online (Sandbox Code Playgroud)

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

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

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

上面的代码来自list_column_helpers.rbvendor/plugins/active_scaffold/helpers /中的文件

更新:

通过建议添加.html_safe到代码,Floatless修复此问题.

我已经发现还需要进行以下更改,因为有多个代码可以响应在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 -%>
Run Code Online (Sandbox Code Playgroud)

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

Dan*_*ara 12

试试这个:

return "<a class='disabled'>#{text}</a>".html_safe unless authorized
Run Code Online (Sandbox Code Playgroud)