但是当我运行时 rake routes我没有看到 PUT 的-6ren">
gpt4 book ai didi

ruby-on-rails - Rails 更新操作的路由助手是什么?

转载 作者:行者123 更新时间:2023-12-01 09:32:14 24 4
gpt4 key购买 nike

我想在我的表单助手中放置一个路由助手,该助手可以转到 update行动:

<%= s3_uploader_form post: <route helper goes here>, as: "shop[logo_ori]" do %>
<%= file_field_tag :file %>
<% end %>

但是当我运行时 rake routes我没有看到 PUT 的 helper :
shops     GET    /shops(.:format)                     shops#index
POST /shops(.:format) shops#create
new_shop GET /shops/new(.:format) shops#new
edit_shop GET /shops/:id/edit(.:format) shops#edit
shop GET /shops/:id(.:format) shops#show
PUT /shops/:id(.:format) shops#update

有问题的表单助手来自 Railscasts#383 的 source .我发现上传表单对于创建新模型对象非常有用,但我正在努力让它用于更新模型对象。

当我尝试路由助手时 shops_url ,它运行失败 POST行动:
Started POST "/shops" for 127.0.0.1 at 2012-12-27 01:10:22 +0800
Processing by ShopsController#create as */*
Parameters: {"shop"=>{"logo_ori"=>"https://bucket.s3.amazonaws.com/example.gif"}}
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
(0.1ms) BEGIN
(0.1ms) ROLLBACK
<additional output redacted>

有什么帮助吗?

最佳答案

虽然 HTTP 和 rack 支持使用 PUT 方法,但浏览器不支持。所以为了欺骗一个放置请求,你需要添加一个 _method=put参数到您发布到的网址。

rails 中的链接如下所示:

<%= link_to "update me", "/link/to/resource", method: :put %>

关于ruby-on-rails - Rails 更新操作的路由助手是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14044160/

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