2016-11-27 5 views
2

私はRuby on Railsの初心者ですが、問題があります。私は自分のアプリにコメントを追加しようとしています。すべてが機能していますが、このコードをroutes.rbに追加したときxyzControllerのアクションxが見つかりません

resources :galleries do 
    resources :comments, module: :galleries 
end 
resources :articles do 
    resources :comments, module: :articles 
end 

ギャラリーや記事を更新することはできません。私の全体のroutes.rbを:

Rails.application.routes.draw do 

    devise_for :users 


    resources :galleries do 
     resources :comments, module: :galleries 
    end 
    resources :articles do 
     resources :comments, module: :articles 
    end 

    match ':controller(/:action(/:id))(.:format)', via: [:post, :get] 


    root 'public#index' 
end 
+0

エラーを表示することができます –

+0

http://imgur.com/a/HoJV2 – Kuba

答えて

0

これは、matchステートメントに通って落ちるされており、あなたのリソースによって拾わ得ていない(?page_idの4 =記事/ 12)要求のように見えます。あなたの一致ステートメント:

match ':controller(/:action(/:id))(.:format)', via: [:post, :get] 

はコントローラとして「記事」に一致し、アクションとして「12」を探して、それは明らかにそれを見つけることができませんされています。

私はmatchステートメントを破棄し、厳密に名前付きルートまたはリソースフルルーティングを永続的に、または少なくともデバッグ中に実行します。次に、

rake routes 

を実行し、結果を確認します。あなたは記事のコントローラで定義されたshow()メソッドを持っていることを確認し、ログことを確認し、それは確かにそうであるならば

   article GET /articles/:id(.:format) articles#show 

:あなたのroutes.rbをから私はあなたがこのような行があります推測していますそれに対してGETリクエストを表示しています。

関連する問題