allow :find_by option to be full find method name - closes #335

This commit is contained in:
Ryan Bates
2011-05-19 23:37:36 -04:00
parent 6a01427317
commit c031f82dd2
4 changed files with 26 additions and 2 deletions
+9 -1
View File
@@ -100,7 +100,15 @@ module CanCan
if @options[:singleton] && parent_resource.respond_to?(name)
parent_resource.send(name)
else
@options[:find_by] ? resource_base.send("find_by_#{@options[:find_by]}!", id_param) : resource_base.find(id_param)
if @options[:find_by]
if resource_base.respond_to? "find_by_#{@options[:find_by]}!"
resource_base.send("find_by_#{@options[:find_by]}!", id_param)
else
resource_base.send(@options[:find_by], id_param)
end
else
resource_base.find(id_param)
end
end
end