未定义的方法`raw'用于rails 4的控制器

时间:2013-10-28 11:40:24

标签: ruby-on-rails ruby ruby-on-rails-4 upgrade

目前,我正在将我的应用程序从rails 3.2升级到rails 4.当我导航到特定选项卡时,出现以下错误:

undefined method `raw' for #<LeaseController:0x00000006935e30>

我的代码:

        vacant.tenant = raw("Vacant")
        vacant.lease_start_date = raw("&nbsp;")
        vacant.rent_end = raw("&nbsp;")
        vacant.base_rent_monthly_amount = raw("")
        vacant.base_rent_annual_psf = raw("")
        vacant.options = raw("")
        vacant.security_deposit_amount = raw("")
        vacant.tis_amount = raw("")
        vacant.lcs_amount =raw("")

为什么现在这个方法未定义?

2 个答案:

答案 0 :(得分:12)

这个助手被贬低了。 http://apidock.com/rails/ActionView/Helpers/RawOutputHelper

如果您仍想使用raw,请尝试添加

include ActionView::Helpers::OutputSafetyHelper

进入你的控制器。

在导轨4中,raw

提供了ActionView::Helpers::OutputSafetyHelper方法

您可以在以下网址查看其文档:

http://api.rubyonrails.org/classes/ActionView/Helpers/OutputSafetyHelper.html

但最重要的是,这段代码属于视图助手,而非属于控制器。

答案 1 :(得分:4)

您可以在控制器中使用html_safe。喜欢这个string.html_safe