1
0
Fork 0
mirror of https://github.com/heartcombo/devise.git synced 2022-11-09 12:18:31 -05:00
heartcombo--devise/lib/devise/controllers/scoped_views.rb

33 lines
870 B
Ruby
Raw Normal View History

module Devise
module Controllers
module ScopedViews
extend ActiveSupport::Concern
module ClassMethods
def scoped_views?
defined?(@scoped_views) ? @scoped_views : Devise.scoped_views
end
def scoped_views=(value)
@scoped_views = value
end
end
protected
# Render a view for the specified scope. Turned off by default.
# Accepts just :controller as option.
2010-07-13 04:09:55 -04:00
def render_with_scope(action, path=self.controller_path)
if self.class.scoped_views?
begin
2010-07-13 04:09:55 -04:00
render :template => "#{devise_mapping.plural}/#{path.split("/").last}/#{action}"
rescue ActionView::MissingTemplate
2010-07-13 04:09:55 -04:00
render :template => "#{path}/#{action}"
end
else
2010-07-13 04:09:55 -04:00
render :template => "#{path}/#{action}"
end
end
end
end
end