取り組んでいるプロジェクトに Rails 2.3.8 を使用していましたが、プロジェクトを Rails 3.0.3 に移行したばかりです。基本的なバグを解決した後、カスタム コントローラー メソッドで問題が発生しました。
gallery_controller には、「extract」というカスタム メソッドがありました。Rails 2.3.8 では、これは問題なく機能し、追加の構成はありませんでした。/galleries/extract/:id に移動すると、やりたいことが実行されます。
フォーム内の元のコードを使用してアプリへのリンクを作成しようとすると、そのコードによってアプリが壊れます。
<%= link_to "Add photos to gallery from: ",
:action => 'extract', :id => @gallery.id %>
このコードを含むページに移動しようとすると、次のエラーが表示されます。
No route matches {:action=>"extract", :controller=>"galleries", :id=>2}
routes.rb を見た後、これが失敗したのではないかと疑うようになりました。
match ':controller(/:action(/:id(.:format)))'
は含まれておらず、実際には推奨されていません。
rake タスクの実行 | grep 'extract' では何も得られません。
では、どうすればこれを修正できますか?