>It will be available in the next point release we do from the 2.2 >branch (2.2.3) hopefully that will come out relatively soon as there's >a few fixes piled up. > >On Wed, Jan 14, 2009 at 6:22 AM, Antoine <[email protected]> wrote: >> >> Thank you Ben for your answer ;-) >> Do you know when the patch will be available in rails ? >> >> Best regards ;-) >> >> Antoine >> >> >> On Jan 13, 2:44 am, Eloy Duran <[email protected]> wrote: >>> Ah sorry, I shouldn't have assumed edge. My bad. >>> Thanks Ben >>> >>> - Eloy >>> >>> On Jan 12, 2009, at 8:30 PM, Ben Symonds wrote: >>> >>> >>> >>> > This looks likehttp://rails.lighthouseapp.com/projects/8994/tickets/1530 >>> > (where the test Eloy mentions was added). >>> >>> > That patch has not been released yet, which is probably why Antoine is >>> > seeing it. >>> >>> > Ben >>> >>> > -----Original Message----- >>> > From: [email protected] >>> > [mailto:[email protected]] On Behalf Of Eloy Duran >>> > Sent: 12 January 2009 18:06 >>> > To: [email protected] >>> > Subject: [Rails-core] Re: tracking_attribute_changes and using default >>> > checkbox form in the view >>> >>> > I checked the test cases (dirty_test.rb), and it contains a test for >>> > this specifically which passes at least on my env. >>> >>> > def test_nullable_integer_zero_to_string_zero_not_marked_as_changed >>> > pirate = Pirate.new >>> > pirate.parrot_id = 0 >>> > pirate.save! >>> > # other tests >>> > pirate.parrot_id = '0' >>> > assert !pirate.changed? >>> > end >>> >>> > Could you check this as well, and otherwise try to extract a small >>> > piece of code, into a test or sample app, which shows the behaviour? >>> > If you do so, please file a ticket. >>> >>> > - Eloy >>> >>> > On 12 jan 2009, at 17:27, Antoine wrote: >>> >>> >> You are right, I have a check box helper (by default, it's sending 0 >>> >> or 1 );-) and also my checkbox is represented in my database by an >>> >> integer ==> 0 means unchecked , 1 means check. >>> >>> >> So my form is sending 0 because my checkbox is unchecked and before >>> >> sending, the attribute of the object had the same value 0 (I checked >>> >> in the database to be sure) >>> >>> >> So I don't understand why rails tell me the state of this attribute >>> >> change ? because the attribute is not changing ... 0 ==> 0 >>> >>> >> Best regards, >>> >> Antoine >>> >>> >> On Jan 12, 11:18 am, Eloy Duran <[email protected]> wrote: >>> >>> Sorry, I forgot to add the most important part :) >>> >>> >>> What might be happening is that you have a default value of nil >>> >>> (NULL) >>> >>> which is then changed to an empty string "". Because the browser >>> >>> sends >>> >>> a value because of the gotcha workaround. >>> >>> >>> So the easiest solution would be to have a default value for the >>> >>> field. >>> >>> Which is something you want to have anyways for a boolean field IMO. >>> >>> >>> - Eloy >>> >>> >>> On Jan 12, 2009, at 5:14 PM, Eloy Duran wrote: >>> >>> >>>> Hi, >>> >>> >>>> This was probably because you used the check_box helper, which >>> >>>> makes >>> >>>> sure the browser always sends a value. >>> >>>> See the documentation for the check_box helper: >>> >>> >>>> === Gotcha >>> >>> >>>> The HTML specification says unchecked check boxes are not >>> >>>> successful, and thus web browsers do not send them. Unfortunately >>> >>>> this introduces a gotcha: if an Invoice model has a paid flag, and >>> >>>> in the form that edits a paid invoice the user unchecks its check >>> >>>> box, no paid parameter is sent. So, any mass-assignment idiom like >>> >>>> @invoice.update_attributes(params[:invoice]) >>> >>>> wouldn't update the flag. >>> >>>> To prevent this the helper generates a hidden field with the same >>> >>>> name as the checkbox after the very check box. So, the client >>> >>>> either >>> >>>> sends only the hidden field (representing the check box is >>> >>>> unchecked), or both fields. Since the HTML specification says key/ > >> >>>> value pairs have to be sent in the same order they appear in the >>> >>>> form and Rails parameters extraction always gets the first >>> >>>> occurrence of any given key, that works in ordinary forms. >>> >>> >>>> - Eloy >>> >>> >>>> On Jan 12, 2009, at 5:05 PM, Antoine wrote: >>> >>> >>>>> Dear all, >>> >>> >>>>> Maybe i wasn't so clear, excuse me for my english ;-) >>> >>> >>>>> My problem is simple .. >>> >>>>> I didn't change the value of my checkboxes in my form but the core >>> >>>>> function of rails was saying that the values currently change ! >>> >>>>> and >>> >>>>> that's why rails update the values in mysql... and also return a >>> >>>>> wrong >>> >>>>> information if i use the new fontions like : attributes_change, >>> >>>>> attribute_changed?... >>> >>> >>>>> I don't understand why ? >>> >>> >>>>> thank you for your help ! >>> >>>>> Antoine >>> >>> >>>>> On Jan 8, 3:39 pm, Antoine <[email protected]> wrote: >>> >>>>>> Dear all, >>> >>> >>>>>> I get a stupid bug and i don't know if there is something wrong >>> >>>>>> in >>> >>>>>> rails or if it is me doing a stupid thing. >>> >>> >>>>>> I have a checkbox called (ass_tg) in my form and when i saved my >>> >>>>>> form , i write in my model: >>> >>> >>>>>> before_save :test >>> >>> >>>>>> def test >>> >>>>>> puts "-----------------------" >>> >>>>>> puts ass_tg_change >>> >>>>>> puts "-------------------------" >>> >>>>>> end >>> >>> >>>>>> I should have a nil answer but I get in my console : >>> >>> >>>>>> ----------------------- >>> >>>>>> 0 >>> >>>>>> 0 >>> >>>>>> ------------------------- >>> >>> >>>>>> And I have this attributes save in the SQL log ..(I didn't change >>> >>>>>> the >>> >>>>>> status of the checkbox ...) >>> >>> >>>>>> UPDATE `companies` SET .... `ass_tg` = 0,...... WHERE `.... >>> >>> >>>>>> It seems like rails don't like integer attributes equal to 0 >>> >>>>>> when it >>> >>>>>> execute all the change functions (change, changed?, was ...) ?? >>> >>> >>>>>> Best regards, >>> >>> >>>>>> Thank you for your help, >>> >>>>>> Antoine >> > >> > > > >-- >Cheers > >Koz > >
--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en -~----------~----~----~----~------~----~------~--~---
