gpt4 book ai didi

ruby-on-rails - 在 Controller 中执行操作的 Rails 3 链接或按钮

转载 作者:行者123 更新时间:2023-12-04 05:07:01 26 4
gpt4 key购买 nike

在 RoR 3 中,我只想有一个链接/按钮来激活 Controller 中的某些操作/方法。具体来说,如果我点击页面上的“update_specs”链接,它应该转到我的产品 Controller 中的“update_specs”方法。我在这个网站上找到了这样做的建议:

link_to "Update Specs", :controller => :products, :action => :update_specs

但是,当我单击此链接时出现以下路由错误:

Routing Error No route matches {:action=>"update_specs", :controller=>"products"}



我已经阅读了路由,但我不明白如果所有其他方法都可以通过资源访问,我不明白为什么我必须路由这个方法:产品。

最佳答案

您需要为它创建一个路由。

例如:

resources :products do
put :update_specs, :on => :collection
end

同样默认 link_to将寻找 GET route 的方法。如果你想处理一个 POSTPUT您需要通过添加 {:method => :post } 来指定它的方法或 {:method => :put }作为参数,例如:
link_to "Update Specs", {:controller => :products, :action => :update_specs}, {:method => :put }

或者您可以使用 button_to而不是 link_to处理 POST默认方法。

关于ruby-on-rails - 在 Controller 中执行操作的 Rails 3 链接或按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7558601/

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