我是新來的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