Incremental Redesign with Rails
2013年7月31日 17:15
重构前
<%- if current_user.redesign_enabled? %> <%# new code %> <%- else %> <%# old code %> <%- end %>
重构后
class ApplicationController < ActionController::Base before_filter :add_view_path_for_redesign private def add_view_path_for_redesign if current_user.redesign_enabled? prepend_view_path Rails.root.join('app/views/redesign') end end end
# original app/views/users/edit.html.erb app/views/users/show.html.erb # redesign app/views/redesign/users/edit.html.erb app/views/redesign/users/show.html.erb