[rspec-users] variable strange change
Evgeniy Dolzhenko
dolzenko at gmail.com
Thu Sep 16 01:22:57 EDT 2010
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 <dchelimsky at gmail.com> wrote:
> On Wed, Sep 15, 2010 at 3:19 AM, Zhenning Guan <lists at 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 at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
More information about the rspec-users
mailing list