我在控制器中有这个
include ActionView::Helpers::UrlHelper
include ActionController::UrlWriter
include ApplicationHelper::TextHelper
TextHelper有这样的东西
var = {
"name1"=>link_to('string1', home_page_path),
"name2"=>link_to('string2', :controller=>'xxxxx/xxxx', :action=>'info_xxx', :return_to=>'/xxxxxxxx'),
"name3"=>link_to('string3', 'http://www.url.com', :target=>'_blank'),
"name4"=>link_to('string4', :controller => 'xxxxxx/xxxxx')
}
name2
和name4
给我错误"无法将字符串转换为Hash",这是因为ActionView::Helpers::UrlHelper
和ActionController::UrlWriter
url_for
的不同实现,其中一个不管理Hash
。
如果我删除ActionController::UrlWriter
,我会收到错误
undefined method `url_for' for nil:NilClass
如果我删除ActionView::Helpers::UrlHelper
给我
undefined method `link_to' for #<xxxxxx::xxxxx::xxxxxxController:0xc3d276c>
我使用的是ruby 1.9.3和Rails 2.3.8,我无法更改TextHelper
中var的任何内容,我无法更改ActionView::Helpers::UrlHelper
和ActionController::UrlWriter
中的任何实现。< / p>
任何解决方案,请