ほとんどの Rails コントローラーでは、レイアウトと sub_layout を設定するために 2 つのメソッドを使用しています。
このコードを乾かす方法について建設的な提案を探しています
Profile_controller.rb:
class ProfilesController < ApplicationController
before_filter :authenticate_user!
layout :resolve_layout
def resolve_layout
case action_name
when "show"
if user_signed_in?
"application"
else
"application"
end
when "get_info"
"modal"
else
"application"
end
end
def sub_layout
case params[:action]
when "index"
if user_signed_in?
"left"
else
"right"
end
when "show"
if user_signed_in?
"left"
else
"right"
end
else
"left"
end
end
..etc