is working code, new Reservation. With the same dataset, changing only
Rails to 2.1.2 r.save returns nil, object does not get saved, nothing
in log file. Using save! raises no exception.
r.errors.full_messages
=> []
Any idea what is going on? I guess something rather strange, since
save should not return nil?
I’m using ruby 1.8.6-p111 on Windows, Rails 2.1.2. Tomorrow I will try
to run it on some Linux with newer Ruby.
I did remove all plugins - no change. Commented out all Reservation
model’s validations, functions, etc. No change.
What else I can try?
–
Witold R.
Ruby on Rails freelancer nhw.pl (EN blog) NetManiac (PL blog)
r=Reservation.new params
save should not return nil?
My guess is that you’ve accidentally overriden a function used by
rails (which perhaps did not exist in rail 1.2.6).
showing us your Reservation model might allow someone to confirm or
infirm that idea.
My guess is that you’ve accidentally overriden a function used by
rails (which perhaps did not exist in rail 1.2.6).
showing us your Reservation model might allow someone to confirm or
infirm that idea.
params is a special hash class withindifferentaccess (whatever it
means). So make sure that you Initialize that hash class rather than
a ruby native hash as you are doing above. Rails adds extra methods
to hash class to make it indifferent to symbol keys or string keys I
believe.
I have run into a large number of issues like this while upgrading a
rails 1.2.6 app to rails 2.1.0 – too many to list here.
You are also doing the r.save! which is guaranteed (relatively
speaking) to raise an error if not successful.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.