Raise more describprive error when can't reflect on association
This commit is contained in:
parent
7baae8f8c3
commit
a581d0a3ec
|
@ -92,6 +92,7 @@ module Cocoon
|
||||||
def create_object(f, association)
|
def create_object(f, association)
|
||||||
assoc = f.object.class.reflect_on_association(association)
|
assoc = f.object.class.reflect_on_association(association)
|
||||||
|
|
||||||
|
raise "Association #{association} doesn't exist on #{f.object.class}" unless assoc
|
||||||
if assoc.class.name == "Mongoid::Relations::Metadata"
|
if assoc.class.name == "Mongoid::Relations::Metadata"
|
||||||
conditions = assoc.respond_to?(:conditions) ? assoc.conditions.flatten : []
|
conditions = assoc.respond_to?(:conditions) ? assoc.conditions.flatten : []
|
||||||
assoc.klass.new(*conditions)
|
assoc.klass.new(*conditions)
|
||||||
|
|
|
@ -191,6 +191,10 @@ describe Cocoon do
|
||||||
result = @tester.create_object(stub(:object => Comment.new), :post)
|
result = @tester.create_object(stub(:object => Comment.new), :post)
|
||||||
result.should be_a Post
|
result.should be_a Post
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "should raise error if cannot reflect on association" do
|
||||||
|
expect { @tester.create_object(stub(:object => Comment.new), :not_existing) }.to raise_error /exist/
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "get_partial_path" do
|
context "get_partial_path" do
|
||||||
|
|
Loading…
Reference in New Issue