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

kan*_*san 9 ruby ruby-on-rails upgrade ruby-on-rails-4

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

undefined method `raw' for #<LeaseController:0x00000006935e30>
Run Code Online (Sandbox Code Playgroud)

我的代码:

        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("")
Run Code Online (Sandbox Code Playgroud)

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

Sah*_*har 13

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

如果您仍想使用raw,请尝试包括

include ActionView::Helpers::OutputSafetyHelper
Run Code Online (Sandbox Code Playgroud)

进入你的控制器.

在轨道4 raw中提供了方法ActionView::Helpers::OutputSafetyHelper

您可以在以下位置查看其文档:

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

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