In the AWDWR book it mentions that the << operator (or method?) just adds the child model the child collection within the parent model.
For some reason when I am using it it doesn't work as expected.
Here is what I have: class Member has_many :tasks end
class Task belongs_to :member end
describe Member, " linkage to task" do before(:each) do @member = Member.new(valid_member_params) end
def valid_member_params { :first_name => "Joe", ... } end
it "should be added through a member" do task = Task.new(:content => "Do something") @member.tasks << task @member.save
@ member.should have(1).tasks @ member.tasks.size == 1 @ member.tasks[0].id > 0 #FAILS here as it never got inserted
end end
The log is rather odd as it doesn't show any hits to the database: Spec::Rails::DSL::HelperEvalContextController: missing default helper path spec/rails/dsl/helper_eval_context_helper Spec::Rails::DSL::ViewExampleController: missing default helper path spec/rails/dsl/view_example_helper e[4;36;1mSQL (0.000187)e[0m e[0;1mSET SQL_AUTO_IS_NULL=0e[0m e[4;35;1mSQL (0.000142)e[0m e[0mBEGINe[0m e[4;36;1mMembers Columns (0.006676)e[0m e[0;1mSHOW FIELDS FROM memberse[0m e[4;35;1mTask Columns (0.007478)e[0m e[0mSHOW FIELDS FROM taskse[0m e[4;36;1mSQL (0.000180)e[0m e[0;1mROLLBACKe[0m e[4;35;1mSQL (0.000134)e[0m e[0mBEGINe[0m e[4;36;1mSQL (0.000133)e[0m e[0;1mROLLBACKe[0m
Thanks for the help
(and I have no idea why I am getting the warning of missing the default helper path)