Railsで奇妙な問題に遭遇しました。Uploadsコントローラーで次のフォームを使用して検索クエリを送信しようとすると、次のようになります。
<%= form_tag ({:controller => "uploads", :action => 'find_uploads'}), :method => "get" do %>
<%=h text_field_tag :search, params[:search], :id => 'search_field' %>
<br />
<%= submit_tag "Search", :style=>"display:inline;" %>
<% end %>
次のURLとエラーページにリダイレクトされます。
/uploads/find_uploads?utf8=✓&search=bot&commit=Search
UploadsController#showのActiveRecord ::RecordNotFound
id=0のアップロードが見つかりませんでした
私のfind_uploadsルート: get 'uploads/find_uploads' => "uploads#find_uploads"
そして、私が行ったとき、私はルートをすくいましたこれは私が得たものです:
uploads_find_uploads GET /uploads/find_uploads(.:format) {:controller=>"uploads", :action=>"find_uploads"}
すべてが順調に進んでいるようです...なぜ期待どおりに機能しないのかわかりません。デバッグの目的で、find_uploadsアクションとshowアクションの両方にブレークポイントをドロップしましたが、どちらにも到達しなかったため、UploadsControllerのshowアクションが呼び出されないため、このエラーメッセージが表示されます。
このフォームは、何かが重要な場合は、インデックスページに表示されます。