私は周りを検索しましたが、このタイプのメカニックの解決策を見つけることができませんでした. Rails で通常どおりすべてのページをロードしたいのですが、ajax リクエストを行うたびに、レイアウトなしでページを返したいだけです。そのため、ajax リクエストを行うたびに、?page=true
これらの行に a または何かを追加して、Rails にレイアウトなしでページを返すようにさせることができます。
これは可能ですか?私が行方不明になっていることを行うためのより良い方法はありますか?
助けてくれてありがとう!
最終的なソリューションの作業コード:
コントローラーで行う必要があるのformat.html
は、respond_to
ブロック内の に小さなロジックを追加することだけです。
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? }
このソリューションも同様に機能しますが、smathy の変更によりさらにシンプルになります。