私のアプリケーションでは、次の手法を使用しています。
<body id="action" class="controller">
と一緒にpjaxで送信する方法はあり#container
ますか?
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