1

私は自分のサイトで次のコードを使用していました

<% if(@cgi.path_info == '/' || @cgi.path_info == '/index') %>
<!--
<% end %>

ANYTHING HERE WHICH SHOULDN'T BE ON THE MAIN PAGE BUT ON ALL OTHER PAGES

<% if(@cgi.path_info == '/' || @cgi.path_info == '/index') %>
-->
<% end %>

これは、サイトのヘッダーに含まれていたため、サイトのホームページで特定のコードを非表示にして、残りのコードを表示することができました。

問題は、Apache をバージョン 2.4 にアップグレードしてから、これが機能しなくなったことです。

誰かがこれを行う別の方法を提案したり、別のコードを提供したりできますか? 最善の解決策はifステートメントを使用することですが、いくつかのヘルプ/例で行うことができます.

4

1 に答える 1

0

問題がコメントアウトのアプローチにある場合は、オプションでコンテンツをレンダリングできます。

<% unless %w( / /index ).include?(@cgi.path_info) %>

  ANYTHING HERE WHICH SHOULDN'T BE ON THE MAIN PAGE BUT ON ALL OTHER PAGES

<% end %>

問題が @cgi にある場合は、次の質問を確認してください: How can I find the current route in Rails?

このガイドで説明されているように、ネストされたレイアウトを使用する方がエレガントな場合もあります: http://guides.rubyonrails.org/layouts_and_rendering.html#using-nested-layouts

于 2013-01-24T23:35:53.363 に答える