gpt4 book ai didi

routes - Rails 3 中的路由问题:ActionController::RoutingError(没有路由匹配...)

转载 作者:行者123 更新时间:2023-12-02 16:39:40 25 4
gpt4 key购买 nike

我创建了一个名为“post”的自定义 RESTful 操作。它作为一个名为 post 的(公共(public))方法出现在 TransactionsController 中。

resources :transactions do
member :post do
post :post
end
end

我的表单配置如下:

<form action="/transactions/25/post">
...
<input id="transaction_submit" commit="commit" type="submit" value="Post">
</form>

当我点击“发布”按钮时,我的服务器收到:

POST "/transactions/25/post"

我希望这会调用我的 TransactionController 中的“post”方法,但我收到了路由错误

ActionController::RoutingError (No route matches "/transactions/25/post"):

有什么想法吗?谢谢。

詹姆斯

最佳答案

终于找到解决办法了,问题是form_for添加了隐藏的_method字段,值为“put”,因为交易很好已经存在,为了规避这个问题,我必须执行以下操作:

<%= form_for @transaction, :url => post_transaction_path(@transaction), :html => { :method => :post } do |form| %>

至少这为我解决了问题,请参阅https://rails.lighthouseapp.com/projects/8994/tickets/4884-routing-error-for-restful-resource-under-namespace供进一步引用

关于routes - Rails 3 中的路由问题:ActionController::RoutingError(没有路由匹配...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4650486/

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