为什么用RoR ActionView :: Helpers :: UrlHelper和ActionController :: UrlWriter给我这个错误“无法将String转换为Hash”?

时间:2014-05-09 16:18:59

标签: ruby-on-rails ruby hyperlink helper

我在控制器中有这个

     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')
  }

name2name4给我错误"无法将字符串转换为Hash",这是因为ActionView::Helpers::UrlHelperActionController::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::UrlHelperActionController::UrlWriter中的任何实现。< / p>

任何解决方案,请

0 个答案:

没有答案