Don't fetch parent of nested resource if *_id parameter is missing so it works with shallow nested routes - closes #14

This commit is contained in:
Ryan Bates
2009-12-14 08:18:08 -08:00
parent f7480d1f5a
commit e9f01300b6
3 changed files with 19 additions and 2 deletions

View File

@@ -36,8 +36,13 @@ module CanCan
def parent_resource
parent = nil
[@options[:nested]].flatten.compact.each do |name|
parent = ControllerResource.new(@controller, name, parent)
parent.find(@params["#{name}_id".to_sym])
id = @params["#{name}_id".to_sym]
if id
parent = ControllerResource.new(@controller, name, parent)
parent.find(id)
else
parent = nil
end
end
parent
end