4

before_filterRailsアプリに、ユーザーがリクエスト(htmlまたはjs形式)を送信したときにログアウトした場合にユーザーを送信するがlogin_urlあります。

次の場合、「notice」レイアウトでビューをレンダリングするために、format.jsと同じ結果を生成したいと思います。format.htmlこれどうやってするの?

respond_to do |format|
  format.js
  format.html{ render :layout => "notice" }
end
4

1 に答える 1

7

あなたはこのように使用可能なフォーマットを強制することができます:

respond_to do |format|
  format.js   { render :layout => "notice", :formats => [:html] }
  format.html { render :layout => "notice" }
end

編集:

必要なのは、応答によって置き換えられるドキュメントの一部です。これは、仕事をするjavascriptで応答することによって行われます。

コントローラ内:

respond_to do |format|
  format.js
  format.html { render :layout => "notice" }
end

login.jsビューで:

$('#whatever').html('<%= escape_javascript( render :login, formats: [ :html ]) %>')

...または同様のもの

于 2012-05-15T19:29:01.093 に答える