2

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

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

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

4

1 回答 1

4

尝试URI::encode()

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

我认为URI.escape()也应该工作<-Ruby 1.9.2显然已弃用。
你可以用CGI.escape上面的代替,不确定有什么区别,如果有的话。

如果您执行以下操作,您仍然可以使用 url_encode

require "erb"
include ERB::Util

@keyword = u(@keyword)
于 2013-05-06T17:01:14.907 回答