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 <[email protected]> wrote:
> On Wed, Sep 15, 2010 at 3:19 AM, Zhenning Guan <[email protected]> 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
> [email protected]
> http://rubyforge.org/mailman/listinfo/rspec-users
>
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users