1

エラーが発生します:

NoMethodError in Devise/registrations#new

undefined method 'user_registration_path'

この行で:

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>

これは私のルートです:

  devise_for :user, :controllers => { :registrations => "devise/registrations" }, :skip => [:registrations, :sessions] do 
    # devise/registrations

    get 'signup' => 'devise/registrations#new', :as => :new_user_registration 
    post 'signup' => 'devise/registrations#create', :as => :custom_user_registration 
  end

レーキ ルート:

      new_user_registration GET    /signup(.:format)      devise/registrations#new
   custom_user_registration POST   /signup(.:format)      devise/registrations#create

user_registration_pathエラーが発生するのはなぜですか?

4

2 に答える 2

4

rake ルートを実行すると、次のような出力が表示されますか?

user_registration POST    /users(.:format)     devise/registrations#create

あなたがこの行を書いたなら、私は思う

post 'signup' => 'devise/registrations#create', :as => :custom_user_registration

これで次のことができます。

custom_user_registration POST    /signup(.:format)     devise/registrations#create

そして、custom_user_registration_path(resource_name)代わりに使用する必要がありますregistration_path(resource_name)

于 2013-08-22T03:24:24.187 に答える