Ruby on rails Rails问题发布到用户\u控制器操作
我在我的users\u控制器中有一个删除用户图片的操作Ruby on rails Rails问题发布到用户\u控制器操作,ruby-on-rails,Ruby On Rails,我在我的users\u控制器中有一个删除用户图片的操作 def use_fb_photo @user = User.find(params[:id]) if @user.picture? and @user.uid @user.remove_picture! if @user.save redirect_to :back end end end routes.rb post 'users/:id/use_fb_
def use_fb_photo
@user = User.find(params[:id])
if @user.picture? and @user.uid
@user.remove_picture!
if @user.save
redirect_to :back
end
end
end
routes.rb
post 'users/:id/use_fb_photo', to: 'users#use_fb_photo', as: :use_fb_photo
我想我需要使用表单将用户id发送到此操作
<%= form_for @user, url: use_fb_photo_path, html: {id: "use-fb-photo-form", class: nil} do |f| %>
<% end %>
我收到错误没有路径匹配[PATCH]“/users/17/use\u fb\u photo”
如果我更改路径以修补。。。我得到了一个模板丢失错误,而不是post。
我觉得我把这件事弄得太复杂了,但我整天都在忙着编码
我只希望用户单击一个按钮(必须在另一个表单中),该按钮将删除用户的图片并重定向到他们的个人资料页。我想您错过了
method: :delete
在通话中。
默认情况下,发送补丁
,但您的路线等待POST
。您可以在您的表单中添加方法:“post”
,或者将路径更改为补丁
,我认为这不对。我不是在删除记录,我只是在对它进行更改。我正在将参数(用户id)发布到控制器操作。picture是用户的参数,还是用户有很多图片?我也被过度编码了,所以可能我只是问了一些蹩脚的问题。这是userOk的一个参数,它帮助避免了无路由匹配错误,但现在它要求一个模板。我想这是因为我的重定向在if语句中。在您的操作中,您的代码不健康。如果其他人在一起。
$('.fb-photo').on('click', function () {
$('#use-fb-photo-form').submit();
});
method: :delete