2016-05-05 6 views
2

ルートリンクに名前を追加する際に問題があります。ルートリンクの名前は?

GET /backend/people/:id/vacations/new(.:format) 

私が試した何を:

resources :vacations, only: [:new, :create] do 
    collection do 
    get 'new', as: 'people_vacation' 
    end 
end 

は、残念ながら、このコードは、新しいアクションを複製、私は最後のリンクを名前を付けたい enter image description here

: は、以下のルーティングの画面があります。 enter image description here

この重複を回避し、新しいアクションに1つのリンク(名前付き)を持つ方法を教えてください。私はあなたがあなたの定義を更新する必要がありますね

+1

レプリケートされません。 create] 'それは' new'と 'create'の2つのルートを作成します。そしてすでに存在しているルートをもう1つ追加しようとしているので、ルートを複製します。ですから、解決策は ':new::create 'から':new'を取り除くことです。それは 'only:[:create]'のようになります。 –

答えて

6

:唯一の休暇、::[:新しい、

resources :vacations, only: [:create] do 
    collection do 
    get 'new', as: 'people_vacation' 
    end 
end 

この方法は、あなたが `リソースを使用する場合、 "新" アクションが