1

カスタムメイドのレスポンダーからレイアウトを設定する方法を理解しようとしています。request.xhr を使用したいですか? レンダリングのレイアウトを「ajax」に設定します。誰もそれを行う方法を知っていますか? 私は Rails 3 を使用しており、次のようなレスポンダーがあります。

module AjaxLayoutResponder
  def to_html
    if request.xhr?
      # do something here to change layout...
    end
    super
  end
end

この「ajax」レイアウトの切り替えを実現するには、レスポンダーが最善の方法であるように思えます。

4

2 に答える 2

1

レスポンダーが行くべき道であることに同意しません。ほとんどのプロジェクトで使用する簡単なソリューションを次に示します (ただし、ajax レイアウトを nil に設定しただけです)。

application_controller.rb 内

layout :set_layout

def set_layout
  request.xhr? 'ajax' : 'application'
end
于 2010-11-21T06:19:07.703 に答える