Sha256: 38495c5d1f08b2939effdd42e2ab60c9aba799e7eb58fa674f66a803f96173f6
Contents?: true
Size: 1.27 KB
Versions: 6
Compression:
Stored size: 1.27 KB
Contents
module LoadBehind class ControllerResource < CanCan::ControllerResource def initialize(controller, name, parent = nil, options = {}) super(controller, name, parent, options) end def load_resource puts "AjaxLoading::load_resource" params = @controller.params set_controller_var 'container', params[:container] if params.has_key?(:container) if params.has_key?(:associated) ass_params = params[:associated] relation = ass_params["class_name"].constantize.find(ass_params["id"]) association = ass_params["association"] set_controller_var 'container', get_controller_var('container') || relation.element_id(:show, association) self.model_instance = relation.send(association) elsif collection_action? self.model_instance = model_class.where('1=1') else super end set_controller_var 'container', get_controller_var('container') || 'main_container' end private def set_controller_var(name, value) name = '@'+name unless name.include?('@') @controller.instance_variable_set(name, value) end def get_controller_var(name) name = '@'+name unless name.include?('@') @controller.instance_variable_get(name) end end end
Version data entries
6 entries across 6 versions & 1 rubygems