Rails 表示中のページを判定する方法 複数のcurrent_page?を判定する方法
Railsで表示中のページを判定する方法
以下のようなパターンでいけます!
current_page?(root_path) current_page?(action: 'index') current_page?(controller: 'shop', action: 'index') current_page?(controller: 'shop', action: 'index', order: 'asc') current_page?('http://hoge.com/hoge/login') current_page?('/users/login')
current_page? を複数まとめて書きたい場合
current_page? が◯◯か△△か□□のときにclassを追加する的な条件があったので以下のように書いた
current_page?(root_path, ◯◯_path, □□_path)
はもちろんだめです
<%= ' active' if %w[hoge moge huga].any? { |name| current_page?(send("#{name}_path")) } %>
パーセント記法を使って配列を作りany?メソッドを使ってどれかにマッチすればみたいにしています。 sendがないとただの文字列になってしまうので忘れずに!