gpt4 book ai didi

ruby-on-rails-3 - Rails3 自定义 Controller 方法未路由 : works in Rails2

转载 作者:行者123 更新时间:2023-12-04 07:19:35 25 4
gpt4 key购买 nike

我一直在将 Rails 2.3.8 用于我一直从事的项目,但刚刚将该项目迁移到 Rails 3.0.3。解决了基本错误后,我现在遇到了自定义 Controller 方法的问题。

在 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' 什么也没给我。

那么我该如何解决呢?

最佳答案

参见 Routing Guide: Adding More RESTful Actions .您需要将提取操作告知应用程序的路由,如下所示:

resources :gallery do
get 'extract', :on => :member
end

关于ruby-on-rails-3 - Rails3 自定义 Controller 方法未路由 : works in Rails2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4464114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com