don't pass nil to 'new' call when no params are specified - closes #63
This commit is contained in:
parent
156839b73e
commit
67b069579e
|
@ -41,7 +41,7 @@ module CanCan
|
||||||
|
|
||||||
def load_resource_instance
|
def load_resource_instance
|
||||||
if !parent? && new_actions.include?(@params[:action].to_sym)
|
if !parent? && new_actions.include?(@params[:action].to_sym)
|
||||||
resource_base.kind_of?(Class) ? resource_base.new(@params[name.to_sym]) : resource_base.build(@params[name.to_sym])
|
@params[name.to_sym] ? resource_base.new(@params[name.to_sym]) : resource_base.new
|
||||||
elsif id_param
|
elsif id_param
|
||||||
resource_base.find(id_param)
|
resource_base.find(id_param)
|
||||||
end
|
end
|
||||||
|
|
|
@ -40,8 +40,8 @@ describe CanCan::ControllerResource do
|
||||||
@controller.instance_variable_get(:@ability).should == :some_resource
|
@controller.instance_variable_get(:@ability).should == :some_resource
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should build a new resource even if attribute hash isn't specified" do
|
it "should build a new resource with no arguments if attribute hash isn't specified" do
|
||||||
stub(Ability).new(nil) { :some_resource }
|
mock(Ability).new { :some_resource }
|
||||||
resource = CanCan::ControllerResource.new(@controller, :controller => "abilities", :action => "new")
|
resource = CanCan::ControllerResource.new(@controller, :controller => "abilities", :action => "new")
|
||||||
resource.load_resource
|
resource.load_resource
|
||||||
@controller.instance_variable_get(:@ability).should == :some_resource
|
@controller.instance_variable_get(:@ability).should == :some_resource
|
||||||
|
@ -80,7 +80,7 @@ describe CanCan::ControllerResource do
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should build a resource when on custom new action even when params[:id] exists" do
|
it "should build a resource when on custom new action even when params[:id] exists" do
|
||||||
stub(Ability).new(nil) { :some_resource }
|
stub(Ability).new { :some_resource }
|
||||||
resource = CanCan::ControllerResource.new(@controller, {:controller => "abilities", :action => "build", :id => 123}, {:new => :build})
|
resource = CanCan::ControllerResource.new(@controller, {:controller => "abilities", :action => "build", :id => 123}, {:new => :build})
|
||||||
resource.load_resource
|
resource.load_resource
|
||||||
@controller.instance_variable_get(:@ability).should == :some_resource
|
@controller.instance_variable_get(:@ability).should == :some_resource
|
||||||
|
|
Loading…
Reference in New Issue
Block a user