【发布时间】:2013-05-29 11:26:53
【问题描述】:
在我的大多数 Rails 控制器中,我使用 2 种方法来设置布局和 sub_layout 感觉很乱,重复很多 == 不干(几乎每个控制器都有方法)。
我正在寻找一些关于如何干燥此代码的建设性建议
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
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 refactoring dry