3

これは本当に簡単だと思いますので、素朴な質問をお詫びします。

現在のページがであるかどうかをテストしようとしています'jobs#index'。ページに含める追加のCSSとコンテンツがある場合は、この追加のコンテンツなしでページをロードしたいと思います。

私はそれがこれらの線に沿ったものであるべきだと信じていますが、私はそれを正しく理解できないようです。

 <% if path == 'jobs#index' %>
  <div class="slidingDiv">
    Fill this space with really interesting content. 
  </div>
  <div class="show_hide">
    FILTERS
  </div>
 <% else %>
 <% end %>

どんなアドバイスも本当にありがたいです!

4

3 に答える 3

6
<% if params[:action] == "index" && params[:controller] == "jobs" %>

しかし、私はそれをヘルパーメソッドに入れます。

于 2012-08-27T12:37:02.397 に答える
6

current_page?レールには組み込みの方法があります。

if current_page?(:controller => 'jobs', :action => 'index')

さらに、次のことができます。

if controller_name == 'jobs' && action_name == 'index'

<% else %>ところで、上記のサンプルコードをドロップすることができます。

于 2012-08-28T11:23:13.027 に答える
2

以下のようなヘルパーメソッドを作成します。この方法で、より多くのパスを渡すことができます。

ビューで

<% if is_path?("/hello/world", root_path) %>

ヘルパーで

def is_path?(*paths)
  paths.include?(request.path)
end

注:ルートには名前付きヘルパーを使用してみてください

jobs#indexはjobs_pathと同じです

于 2012-08-27T12:50:01.220 に答える