6

リモート呼び出しを行う削除リンクがあります。

<%= link_to image_tag("trash.png"), [current_user, bookcase], method:  :delete, :remote => true, confirm: "You sure?", title:   bookcase.image %>

私のコントローラーでは、削除機能をリダイレクトで終了します。

def destroy
  @bookcase.destroy
  redirect_to current_user
end

これは機能しますが、ユーザーを「user/show.js.erb」ファイルではなく「user/show.html.erb」ファイルにリダイレクトしています。使用する形式を指定して、ユーザーをリダイレクトするにはどうすればよいですか?

4

4 に答える 4

16

これがこの特定の質問に答えているかどうかはわかりませんが、次の情報が役立つ場合があります。

module AjaxHelper
  def ajax_redirect_to(redirect_uri)
    { js: "window.location.replace('#{redirect_uri}');" }
  end
end

class SomeController < ApplicationController
  include AjaxHelper

  def some_action
    respond_to do |format|
      format.js { render ajax_redirect_to(some_path) }
    end
  end
end
于 2014-05-02T16:38:31.620 に答える
8

このようにredirect_toでフォーマットを指定できると確信しています

redirect_to current_user, format: 'js'

于 2012-10-30T20:34:14.427 に答える
2

このコードが機能すると確信しています。

render :js => "window.location = '/jobs/index'

アクションでこのコードを使用できます /controller_name/action name/

于 2015-03-07T13:35:25.583 に答える