見出し画像

【99】【Rails】リファクタリングのトレーニング。コントロールのキャプチャ。

改善したいコード

class Admin::BaseController < ApplicationController
 layout "admin"
end
class Staff::BaseController < ApplicationController
 layout "staff"
end
class Customer::BaseController < ApplicationController
 layout "customer"
end

リファクタリング

class ApplicationController
 layout :set_layout
 private
 def set_layout
   "/"を見落とさないように
   if params[:controller].match(%r{\A(staff|admin|customer)/})
     Regexp.last_match[1]
   else
     "customer"
   end
 end
end

class Admin::BaseController < ApplicationController
 
end
class Staff::BaseController < ApplicationController
 
end
class Customer::BaseController < ApplicationController
 
end

ポイント

Railsのコントローラーはparams[:controller]でキャプチャすることができます。

関連する記事

参考文献

Ruby on Rails 6 実践ガイド

最後に
私がブログを書く目的は、素晴らしい本や、素晴らしい方々の技術記事を知って頂きたいからです。ぜひ、上記の参考文献を見て下さい。(noteなので広告とかは一切ありません。)

現在、株式会社grabssに行くために最後の悪あがきをしています!!
現在の進行状況
この記事は99件目の投稿。目標達成!!!!
目標再設定
20日までに100件目指す!!(99件目)
20日超えたが、寝るまでは20日営業日!!(まだ寝てない、ちょっと寝##峠を超え目が覚めた!)
気持ちは20日!

よろしければ、スキボタン及びサポートお願いします。勉強の励みになります。

この記事が気に入ったらサポートをしてみませんか?