lib/risosu_san.rb in matsimitsu-risosu-san-0.1.1 vs lib/risosu_san.rb in matsimitsu-risosu-san-0.1.2

- old
+ new

@@ -7,10 +7,12 @@ # Adds a before filter which will take care of finding the parent resource. # # class PasswordsController < ActionController::Base # find_parent_resource :only => :new, :field => 'slug' # end + # + # :field setting is optional, if used and record is not found, there is a fallback to ID def find_parent_resource(options = {}) if options[:field] then field = options[:field] options.delete(:field) end @@ -62,10 +64,10 @@ # find_parent_resource, :field => 'slug' # @parent_resource # => #<Member id: 24> # @member # => #<Member id: 24> def find_parent_resource(field=nil) finder_sender = field ? "find_by_#{field}" : 'find' - if @parent_resource.nil? && nested? && @parent_resource = parent_resource_params[:class].send(finder_sender, parent_resource_params[:id]) + if @parent_resource.nil? && nested? && @parent_resource = parent_resource_params[:class].send(finder_sender, parent_resource_params[:id]) || parent_resource_params[:class].send('find', parent_resource_params[:id]) instance_variable_set("@#{parent_resource_params[:name]}", @parent_resource) end @parent_resource end end \ No newline at end of file