我一直在将 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' 什么也没给我。
那么我应该如何解决这个问题?