module ParentResource::ControllerMethods

Public Instance Methods

parent_resource(*keys)
Alias for: parent_resources
parent_resources(*keys) click to toggle source
# File lib/parent_resource/controller_methods.rb, line 3
def parent_resources(*keys)
  keys.each do |key|
    create_parent_resource(key)
  end
end
Also aliased as: parent_resource

Private Instance Methods

create_parent_resource(key) click to toggle source
# File lib/parent_resource/controller_methods.rb, line 12
def create_parent_resource(key)
  method_name = "_parent_#{key}".to_s
  model = key.to_s.classify.constantize
  key_name = "#{key}_id"
  val = "@#{key}".to_sym

  define_method(method_name) do
    instance_variable_set(val, model.find(params[key_name])) if params[key_name]
  end
  private method_name
  before_filter method_name
end