gpt4 book ai didi

ruby-on-rails - 具有两个不同 Controller 和 RESTful 路由的资源的 form_for 标记

转载 作者:行者123 更新时间:2023-12-01 08:41:55 24 4
gpt4 key购买 nike

我有一个带有“Route”资源和“Route” Controller 的 Rails 应用程序(不要与 Rails 路由混淆)。我已经进行了设置,以便站点管理员(并且只有管理员)可以通过“Route” Controller 管理“Route”资源,而普通用户可以使用“Myroute” Controller 管理他们的路由。我希望两个 Controller 都使用 RESTful 路由,但我在“Myroute” Controller 的“编辑” View 中遇到了 form_for 函数的问题。

“Myroute” Controller 的“编辑” View 的表单标签当前是:

<% form_for @route, :url => { :id => @route.id }, :html => { :method => :put } do |f| %> 

解决如下:

<form action="/myroutes/44/edit" class="edit_route" id="edit_route_44" method="post">

这是不正确的,因为表单的操作应该转到“create”方法,而“edit”方法只处理 GET 请求。通过查看“路由” View 生成的 HTML,我可以看出,表单应该向“/myroutes/44”发出 PUT 请求

如何编写 form_for 标记,以便它使用 RESTful 路由向与模型不同的 Controller 的“更新”方法发出 PUT 请求?

最佳答案

怎么样:

<% form_for @route, :url => {:action => 'update', :id => @route.id },
:html => { :method => :put } do |f| %>

关于ruby-on-rails - 具有两个不同 Controller 和 RESTful 路由的资源的 form_for 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1462596/

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