このタイプの機械の解決策を探しています。通常はすべてのページをRailsにロードしたいのですが、Ajaxリクエストを行うたびにレイアウトのないページを返すだけです。したがって、いつでも私はAJAXを作成するときに、?page=true
かその行に何かを追加し、Railsにレイアウトなしでページを返すことができます。AJAXリクエスト中にレイアウトがレイアウトされないようにするレール
これは可能ですか?私が行方不明になっているより良い方法がありますか?
ありがとうございました!
最終解決ワーキングコード:コントローラで
あなたはrespond_to
ブロックにformat.html
に少しロジックを追加するだけです。例えばshow
方法
def show
# code beforehand
respond_to do |format|
format.html { render :layout => !request.xhr? }
# other formats
end
end
で
そして、それはそれです! AJAXリクエスト中のレイアウトを防ぐ!
注:彼の答えに対するスマシーのコメントのおかげで、これはさらに単純化されました。私はもともとformat.html { render :layout => nil if request.xhr? }
でした。このソリューションはまったく同じように機能しますが、スマシーの修正によってさらに簡単になります。
すべてのAjaxリクエストに対してアプリケーションコントローラで同じことを実行できますか? –
可能な複製[xhrsに応答してレイアウトをレンダリングしない](http://stackoverflow.com/questions/2444866/never-render-a-layout-in-response-to-xhrs) – fivedigit