0

私は次のコードを持っていますapplication.html.erb

...
<body>
  <div class="container">
    <%= render 'layouts/header' %>
      <section class="<%= "login_section" if login_or_signup? %>"> #here's the issue
        <% flash.each do |key, value| %>
          <div class="flash <%= key %>"><%= value %></div>
        <% end %>
        <%= yield %>
      </section>
    <%= render 'layouts/footer' %>
  </div>
</body>
...

login_section/loginヘッダーを異なる形式でフォーマットする css クラスです。現在のパスがorの場合にのみ設定したい/signupので、login_or_signup?ヘルパーは次のように定義されます。

def login_or_signup?
  request.path == login_path || signup_path
end

私はまた、その内臓を , として試しましたlogin_path or signup_path(login_path || signup_path)(login_path or signup_path)どれも正しく評価されませtrueん (「正しく」は、パスがまたはのいずれか の場合です)。私はこれを次のように書いてみました/login/signup

def login_or_signup?
  request.path == login_path
end

そして、それは期待どおりに機能します。

4

1 に答える 1