重複の可能性:
最近のアイテム - ルーティング エラー
Rails アプリで非常に奇妙な動作に遭遇しました。基本的に、ユーザーは写真をアップロードできます (carrierwave、基本的な scaffold 生成フォームを使用)。これらの写真のモデルは と呼ばれuser_photo
ます。これが私のルーティングファイルです:
ルーティング.rb
Myapp::Application.routes.draw do
#...
match 'profiles/:profile_id/photos' => 'user_photos#index_profile', :as => :profile_user_photos
match 'user_photos/vote/:id' => 'user_photos#vote', :as => :user_photo_vote
resources :user_photos do
resources :comments
end
#...
end
そして今、次の URL パターンを使用して、ユーザーがアップロードした写真にアクセスしようとすると:
http://localhost:3000/user_photos/31 (this is just an example)
私はこのエラーが発生しています:
{:action="show", :controller="user_photos", :id=>nil} に一致するルートはありません
奇妙なことに、一部の user_photos は機能しますが、まったく予測できません! おそらく何がこのエラーを引き起こしているのかわからないので、ルーティング ファイルだけを投稿しました (これが最初に頭に浮かんだためです)。何が起こっているのかを理解するために何かアイデアや何か必要なことがあれば、私に知らせてください。前もって感謝します。
編集:
わかりました、実際には予測可能です。最後にアップロードされた user_photo だけが機能していません。次のものをアップロードすると、機能していなかった前の写真が機能し始めます。何か案は?
このスレッドはここに続きます:最近のアイテム - ルーティング エラー