実行時にtemplateを切り替える

投稿者 nanki 2005-10-14 06:44:00 GMT

ユーザの権限などで、使用するテンプレートセットを変えたい場合、ActionController の中で、

class ApplicationController < ActionController::Base
  before_filter :authorize

  private
  def authorize
    return unless @member.guest?
    template_root = "#{RAILS_ROOT}/app/views/guest/"
    @template.base_path = template_root
  end
end

とやればいいみたい。

参考:

changing your ActionController template_root per request