我是新来的rails,所以我为我的无知道歉。nomethoderror for rack :: utils :: escape
我的方法之外设定恒定的一类:
PARAM = { #... => ...
'field' => escape('somethingwith/slashes')
}
,并获得NoMethodError:未定义的方法“逃离”
我试过架:: utils的::逃生和机架:: Utils.escape代替,但两者都不起作用。
在此先感谢。
我是新来的rails,所以我为我的无知道歉。nomethoderror for rack :: utils :: escape
我的方法之外设定恒定的一类:
PARAM = { #... => ...
'field' => escape('somethingwith/slashes')
}
,并获得NoMethodError:未定义的方法“逃离”
我试过架:: utils的::逃生和机架:: Utils.escape代替,但两者都不起作用。
在此先感谢。
您可以使用CGI.escape。
# lib/my_foo
class MyFoo
THINGS = {
:hi => CGI.escape("well hello, there.")
}
end
如果您在Rails环境之外执行此操作,则您还必须使用require "cgi"
。
您使用的是哪个Rails版本。如果你使用Rails 2.3,你应该有Rack。看看这个:
>> require "rack" # Rails 2.3 and above has already done this
=> true
>> Rack::Utils.escape("the quick brown fox")
=> "the+quick+brown+fox"
如果您使用的是2.3以前版本的Rails,您需要自行安装并需要Rack。
sudo gem install rack
或者,如果你从内部管理Rails的宝石,将下面的行添加到您的environment.rb初始化块中:
config.gem "rack", "1.0.0"
一旦升级到Rails 2.3或更高版本,将能够使用Rails内置的Rack版本,并且您可以删除config.gem行。
给了我同样的错误。未定义的方法'转义'为# 任何想法? –
user117046
2009-06-28 05:53:14