Rails 3:找不到Ruby url_encode方法;用于#<sitecontroller的未定义方法`u':0x007fe447774da8> </sitecontroller:0x007fe447774da8>

时间:2013-05-06 16:58:49

标签: ruby-on-rails

我有一行简单的代码:@keyword = u @keyword并且rails给我一个异常,它不是一个方法:

undefined method 'u' for #<SiteController:0x007fe447774da8>

我正在将此应用程序从Rails 2升级到Rails 3. url_encode方法是否被其他内容替换?很难找到它的文档。我正在我的控制器中使用该方法。

1 个答案:

答案 0 :(得分:4)

尝试URI::encode()

require 'open-uri'
@keyword = URI::encode(@keyword)

我认为URI.escape()也应该工作&lt; - Ruby 1.9.2显然已弃用 您可以使用CGI.escape代替上述内容,但不确定区别(如果有)。

you can still use url_encode if you do the following

require "erb"
include ERB::Util

@keyword = u(@keyword)