hash_for *(hash_for_path_name)的Rails 4路由错误

时间:2014-12-16 06:35:12

标签: ruby-on-rails-4 ruby-on-rails-3.2 rails-routing

我正在将我的应用程序从rails 2.3.18迁移到rails 4.0.0。我的应用程序工作正常,直到rails 3.2.21。但是当我将它从rails 3.2.21迁移到rails 4.0.0时,它给了我hash_for * helper的错误。

我收到了这个错误:

undefined method `hash_for_home_status_path' for #<#<Class:0xb636bb0c>:0xb636b0a8>

我在https://github.com/rails/rails/blob/3-2-stable/actionpack/lib/action_dispatch/routing/route_set.rb中找到了以下方法,这在rails 4 stable中不可用。

def hash_access_name(name, kind = :url)
   :"hash_for_#{name}_#{kind}"
end

是否有任何针对此删除的补丁或任何替换以在rails 4中传递选项哈希?提前致谢

1 个答案:

答案 0 :(得分:0)

回顾Rails routing from the outside in。您可能需要更新一些视图文件(删除hash_for_ *并将其替换为link_to或其他方法)。