1

我最近将一个项目从 3.1 升级到 Rails 3.2,并且一直试图弄清楚为什么路由不能很好地与设计配合使用。

NoMethodError - undefined method `locale' for #<ActionDispatch::Request:xxxxx>:

这是在新的 ( 1 ) 旅程路由引擎上。现在的问题是 Devise 只有其他模块没有出错。我可以说这个问题在我的使用范围内。如果我准备好范围,它就会起作用。

scope "(:locale)", :locale => /#{I18n.available_locales.join("|")}/ do
    devise_for :users, :controllers => { :registrations => "users/registrations" }
    ...
end

( 1 ) 7号线(133)。请在此处查看上下文中的跟踪和旅程线错误。

任何建议和指导表示赞赏。谢谢你。

导轨 3.2,红宝石 1.9.3

4

1 回答 1

0

尝试将 :locale 放入 :constraints 哈希中:

scope "(:locale)", :constraints => {:locale => /#{I18n.available_locales.join("|")}/}

我认为这也有助于解决更多问题: http: //guides.rubyonrails.org/routing.html

于 2013-04-22T19:40:01.230 回答