Typical Ruby gotcha: God.transaction do puts mad.nil? # mad is instance method of God and returns BelongsToAssociation here if mad.nil? puts 'some thing exctue here' mad = you.mad # Ruby sees mad local variable definition end puts mad.nil? # mad is unitialized local variable set to nil end
On Wed, Sep 15, 2010 at 5:22 PM, David Chelimsky <dchelim...@gmail.com> wrote: > On Wed, Sep 15, 2010 at 3:19 AM, Zhenning Guan <li...@ruby-forum.com> wrote: >> class User >> has_many :mads >> >> def mad >> Mad.find_by_user_id(id) >> end >> end >> >> class God >> belongs_to :mad >> belongs_to :user >> belongs_to :sender, :class_name => "User", :foreign_key => "sender_id" >> >> def strange_change! >> God.transaction do >> puts mad.nil? #the first time put is false >> if mad.nil? >> puts 'some thing exctue here' #no puts anything >> mad = you.mad >> end >> puts mad.nil? #the second time put is true >> end >> end >> end >> >> why the mad will become nil? > > Seems like a Rails question, not an RSpec question. Please post Rails > questions to http://groups.google.com/group/rubyonrails-talk. > > Cheers, > David > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users