users_controllerにユーザーの画像を削除するアクションがあります。Railsの問題がusers_controllerに投稿されました。
post 'users/:id/use_fb_photo', to: 'users#use_fb_photo', as: :use_fb_photo
routes.rbを
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
私は、フォームを使用して、このアクションにユーザIDを送信する必要があると考えました。
<%= form_for @user, url: use_fb_photo_path, html: {id: "use-fb-photo-form", class: nil} do |f| %>
<% end %>
私は、ユーザーが別のフォームの内側にすでにあるボタンをクリックしてアクションをトリガーにしたいです。
<button type="button" class="btn btn-default fb-photo" title="Use facebook photo"><i class="fa fa-facebook-square" aria-hidden="true"></i></button>
とJS
$('.fb-photo').on('click', function() {
$('#use-fb-photo-form').submit();
});
私はエラーNo route matches [PATCH] "https://stackoverflow.com/users/17/use_fb_photo"
を取得しています。
私がパッチのルートを変更すると、ポストの代わりにテンプレートが失われてしまいます。 私はこれをあまりにも複雑にしているように感じますが、私の脳は一日中コーディングされて揚げられています。
ユーザーの写真を削除してプロフィールページにリダイレクトするボタン(別のフォーム内にある)をクリックするだけでいいです。
です。いいえ、経路に合致しないエラーに役立ちましたが、今はテンプレートを要求しています – user4584963
私のリダイレクトがifステートメント内にあったからだと思います – user4584963
あなたの行動では、あなたのコードは健康ではありません。 if-elseは一緒でなければなりません。 –