

**やりたいこと**  
ページを移動した際に、ヘッターの文字の色が変わるようにしたいです（Aのページだと、この色。Bのページだとこの色、みたいな。）

**現状**  
以下のようなコードでheaderを書いています。仮にこのbackground -colorをページごとに変えたいときはどのように書けばいいでしょうか？

条件分岐みたいな書き方をするのか、それとも違うクラスを与えたりするのか、よくわかりません。どなたか教えて下さい。

**_header.html.erb**

[code]

    <header> 
       <nav> 
         <nav class="navbar navbar-expand-md sticky-top navbar-dark" style="background-color: #ff9933;"> 
           <a class="navbar-brand" href="/">xxx</a> 
           <button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#bs-navi" aria-controls="bs-navi" aria-expanded="false" aria-label="Toggle navigation"> 
             <span class="navbar-toggler-icon"></span> 
           </button> 
      
           <div class="collapse navbar-collapse" id="bs-navi"> 
             <ul class="navbar-nav"> 
               <% if user_signed_in? %> 
                 <li class="nav-item active"> 
                   <%= link_to "手紙を書く", new_post_path, class: 'nav-link', data: {"turbolinks" => false} %> 
                 </li> 
                 <li class="nav-item active"> 
                   <%= link_to "手紙を読む", notifications_path, class: 'nav-link' %> 
                 </li> 
                 <li class="nav-item active"> 
                   <%= link_to 'アカウント編集', edit_user_registration_path, class: 'nav-link' %> 
                 </li> 
                 <li class="nav-item active"> 
                   <%= link_to "ログアウト", destroy_user_session_path, method: :delete, class: 'nav-link'  %> 
                 </li> 
               <% else %> 
                 <li class="nav-item active"> 
                   <%= link_to "新規登録", new_user_registration_path, class: 'nav-link' %> 
                 </li> 
                 <li class="nav-item active"> 
                   <%= link_to "ログイン", new_user_session_path, class: 'nav-link' %> 
                 </li> 
               <% end %> 
             </ul> 
           </div> 
         </nav> 
       </nav> 
     </header>
    
[/code]


CC BY-SA 4.0
2022-07-11T23:10:32.077
89921
2022-08-19T01:59:41.160
2022-07-11T23:31:30.657
40091
40091
question
ruby-on-rails ruby html5 bootstrap scss
ページによってheaderの色が変わるようにしたい


以下のような感じで変更できるかと思います！

参考記事:  
[[Rails 4.x]
ViewからController名やAction名を参照する方法](https://qiita.com/colorrabbit/items/ef91170d9b5c266ad416)

**_header.html.erb**

[code]

    <nav class="navbar navbar-expand-md sticky-top navbar-dark" style="background-color: <%= background_color(controller) %>;"> 
    
[/code]

**application_heler.rb**

[code]

      def background_color(controller)
        case controller.controller_name
        when 'posts'
          '#ff9933'
        when 'user_sesssions'
          '#ff0000'
        end
      end
    
[/code]


CC BY-SA 4.0
2022-08-18T15:51:11.733
90617
2022-08-19T01:59:41.160
2022-08-19T01:59:41.160
3060
54050
89921
answer