1

私は最近、Rails 3.1 から 3.2 にプロジェクトをアップグレードしました。

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

これは、新しい ( 1 ) Journey ルーティング エンジンにあります。今のところ問題は、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 に答える