2017-07-31 7 views
0

Deviseとの登録とセッションにカスタムパスを使用しようとしています。`:as`オプションを使用して同じ名前のルート - カスタムパスを作成する

私の問題は、ルートが同じ'as'を持つことができないということです。

私のコードはこれです:

#Devise 
    devise_for :users, skip: [:sessions,:registration] 

    as :user do 
    get 'signup', to: 'users/registrations#new', as: :new_user_registration 
    post 'signup', to: 'users/registrations#create', as: :user_registration 
    get 'edit', to: 'users/registrations#edit', as: :edit_user_registration 
    put 'edit', to: 'users/registrations#update' , as: :user_registration 
    get 'signin', to: 'users/sessions#new', as: :new_user_session 
    post 'signin', to: 'users/sessions#create', as: :user_session 
    delete 'signout', to: 'users/sessions#destroy', as: :destroy_user_session 
    end 

どのように問題が'edit'ためput要求がポスト私はこの問題を解決するにはどうすればよい

と同じas:を持つ必要がある見ることができますか?マッチで?あなたがすでに行っているような命名規則によると、あなたのpatch/putヘルパーはuser_registration名前を付ける必要があり

+0

同じ名前を使用できないのはなぜですか?実際には、あなたのケースではない同じ* HTTP *動詞でマッピングされていない限り、同じ名前を持つことができます。 – Pavan

+0

@Paven '既に使用されている無効なルート名: 'user_registration' ':as'オプションを使用して同じ名前の2つのルートを定義していて、Railsエラーです。 – exsnake

+0

ああ、大丈夫です。お詫び!ここで 'match 'を使うことはできませんが、異なる' controller#action'にマップされています – Pavan

答えて

関連する問題