![見出し画像](https://assets.st-note.com/production/uploads/images/63926400/rectangle_large_type_2_630534f1a4aecc12363d8a50e7da281c.jpeg?width=1200)
Photo by
mako_makkonen
【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]でキャプチャすることができます。
関連する記事
参考文献
最後に
私がブログを書く目的は、素晴らしい本や、素晴らしい方々の技術記事を知って頂きたいからです。ぜひ、上記の参考文献を見て下さい。(noteなので広告とかは一切ありません。)
現在、株式会社grabssに行くために最後の悪あがきをしています!!
現在の進行状況
この記事は99件目の投稿。目標達成!!!!
目標再設定
20日までに100件目指す!!(99件目)
20日超えたが、寝るまでは20日営業日!!(まだ寝てない、ちょっと寝##峠を超え目が覚めた!)
気持ちは20日!
よろしければ、スキボタン及びサポートお願いします。勉強の励みになります。
この記事が気に入ったらサポートをしてみませんか?