1

私のアプリケーションでは、次の手法を使用しています。

<body id="action" class="controller">

と一緒にpjaxで送信する方法はあり#containerますか?

4

1 に答える 1

0

Rails を使用していると仮定します。

サーバー側の応答を生成するために何を使用しているのかわかりません。私はrack-pjaxを使用しており、ライブラリを変更して、ボディにクラスと ID を次のように設定できました。

--- pjax.orig.rb    2012-05-04 22:46:22.000000000 -0700
+++ pjax.rb 2012-05-04 22:46:57.000000000 -0700
@@ -13,6 +13,10 @@
       headers = HeaderHash.new(headers)

       if pjax?(env)
+        request_parameters = env['action_dispatch.request.parameters']
+        controller_name    = request_parameters[:controller]
+        action_name        = request_parameters[:action]
+
         new_body = ""
         body.each do |b|
           parsed_body = Hpricot.XML(b)
@@ -22,6 +26,13 @@

             new_body << title.to_s if title
             new_body << container.inner_html
+            new_body << <<-EOS
+              <script type="text/javascript">
+                $('body').removeClass();
+                $('body').addClass('#{controller_name}');
+                $('body').attr('id', '#{action_name}');
+              </script>
+            EOS
           else
             new_body << b
           end
于 2012-05-05T05:54:16.537 に答える