Frederick Cheung wrote:> On Mar 26, 7:44�pm, Simon Rand
<rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>
> wrote:
>> Hi all,
>>
>> Just a strange little one I came across this afternoon, I''d
much
>> appreciate any thoughts any of you might have on it..
>>
>> I was just implementing a small AJAX list sorter on a project, however
>> when I passed the "sortable_list" array and loop through it
the .update
>> method seems to ignore associations on the object, and therefore they
>> get deleted.
>
> Doesn''t sound very normal. What''s in your log files when
this happens?
>
> Fred
That''s what I thought, I''m keen to get to the bottom of it:
Here''s what happens when the action update_positions is fired from the
AJAX sortable list (this is using a slightly different dataset)
Processing SportsController#update_positions (for 127.0.0.1 at
2008-03-26 19:40:58) [POST]
Session ID:
BAh7CToJdXNlcmkGOgxjb3VudHJ5IgdpZToOcmV0dXJuX3RvMCIKZmxhc2hJ%0AQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjoKQHVz%0AZWR7AA%3D%3D--b54e6fd96bf73b96a15f6cfa6ed4fc24dcf1e642
Parameters: {"action"=>"update_positions",
"sortable_list"=>["3", "2",
"4", "5", "6", "7", "8",
"9", "10", "11"],
"controller"=>"admin/sports"}
[4;35;1mLocale Load (0.000762) [0m [0mSELECT * FROM `locales` [0m
[4;36;1mLocale Columns (0.002516) [0m [0;1mSHOW FIELDS FROM
`locales` [0m
[4;35;1mLocale Load (0.001546) [0m [0mSELECT * FROM `locales`
WHERE (`locales`.`country_code` = ''ie'') LIMIT 1 [0m
[4;36;1mGroup Load (0.000514) [0m [0;1mSELECT * FROM `groups` [0m
[4;35;1mCACHE (0.000000) [0m [0mSELECT * FROM `locales` WHERE
(`locales`.`country_code` = ''ie'') LIMIT 1 [0m
[4;36;1mUser Columns (0.003802) [0m [0;1mSHOW FIELDS FROM
`users` [0m
[4;35;1mUser Load (0.001512) [0m [0mSELECT * FROM `users` WHERE
(`users`.`id` = 1) LIMIT 1 [0m
[4;36;1mSport Columns (0.003293) [0m [0;1mSHOW FIELDS FROM
`sports` [0m
[4;35;1mSport Load (0.000893) [0m [0mSELECT * FROM `sports` WHERE
(`sports`.`id` = 3) [0m
[4;36;1mJoin Table Columns (0.002549) [0m [0;1mSHOW FIELDS FROM
`groups_sports` [0m
[4;35;1mGroup Load (0.002243) [0m [0mSELECT * FROM `groups` INNER
JOIN groups_sports ON groups.id = groups_sports.group_id WHERE
(groups_sports.sport_id = 3 ) [0m
[4;36;1mGroup Columns (0.002650) [0m [0;1mSHOW FIELDS FROM
`groups` [0m
[4;35;1mSQL (0.001031) [0m [0mBEGIN [0m
[4;36;1mSQL (0.000315) [0m [0;1mDELETE FROM groups_sports WHERE
sport_id = 3 AND group_id IN (1,2) [0m
[4;35;1mSQL (0.000740) [0m [0mCOMMIT [0m
[4;36;1mJoin Table Columns (0.002419) [0m [0;1mSHOW FIELDS FROM
`locales_sports` [0m
[4;35;1mLocale Load (0.001201) [0m [0mSELECT * FROM `locales`
INNER JOIN locales_sports ON locales.id = locales_sports.locale_id WHERE
(locales_sports.sport_id = 3 ) [0m
[4;36;1mSQL (0.000222) [0m [0;1mBEGIN [0m
[4;35;1mSQL (0.000386) [0m [0mDELETE FROM locales_sports WHERE
sport_id = 3 AND locale_id IN (1,2) [0m
[4;36;1mSQL (0.000784) [0m [0;1mCOMMIT [0m
[4;35;1mSQL (0.000225) [0m [0mBEGIN [0m
[4;36;1mSport Update (0.000829) [0m [0;1mUPDATE `sports` SET
`created_at` = ''2008-03-15 02:37:00'', `position` = 1,
`updated_at` =
''2008-03-26 19:40:58'', `name` = ''Rugby''
WHERE `id` = 3 [0m
[4;35;1mSQL (0.000668) [0m [0mCOMMIT [0m
[4;36;1mSport Load (0.000668) [0m [0;1mSELECT * FROM `sports`
WHERE (`sports`.`id` = 3) [0m
[4;35;1mSQL (0.000156) [0m [0mBEGIN [0m
[4;36;1mSport Update (0.000392) [0m [0;1mUPDATE `sports` SET
`created_at` = ''2008-03-15 02:37:00'', `position` = 1,
`updated_at` =
''2008-03-26 19:40:58'', `name` = ''Rugby''
WHERE `id` = 3 [0m
[4;35;1mSQL (0.000212) [0m [0mCOMMIT [0m
[4;36;1mSport Load (0.000587) [0m [0;1mSELECT * FROM `sports`
WHERE (`sports`.`id` = 2) [0m
[4;35;1mJoin Table Columns (0.002631) [0m [0mSHOW FIELDS FROM
`groups_sports` [0m
[4;36;1mGroup Load (0.001124) [0m [0;1mSELECT * FROM `groups`
INNER JOIN groups_sports ON groups.id = groups_sports.group_id WHERE
(groups_sports.sport_id = 2 ) [0m
[4;35;1mSQL (0.000221) [0m [0mBEGIN [0m
[4;36;1mSQL (0.000365) [0m [0;1mDELETE FROM groups_sports WHERE
sport_id = 2 AND group_id IN (1,2) [0m
[4;35;1mSQL (0.000702) [0m [0mCOMMIT [0m
[4;36;1mJoin Table Columns (0.002110) [0m [0;1mSHOW FIELDS FROM
`locales_sports` [0m
[4;35;1mLocale Load (0.001991) [0m [0mSELECT * FROM `locales`
INNER JOIN locales_sports ON locales.id = locales_sports.locale_id WHERE
(locales_sports.sport_id = 2 ) [0m
[4;36;1mSQL (0.000253) [0m [0;1mBEGIN [0m
[4;35;1mSQL (0.000351) [0m [0mDELETE FROM locales_sports WHERE
sport_id = 2 AND locale_id IN (1) [0m
[4;36;1mSQL (0.000850) [0m [0;1mCOMMIT [0m
[4;35;1mSQL (0.000321) [0m [0mBEGIN [0m
[4;36;1mSport Update (0.000456) [0m [0;1mUPDATE `sports` SET
`created_at` = ''2008-03-14 22:50:23'', `position` = 2,
`updated_at` =
''2008-03-26 19:40:58'', `name` = ''Off Field''
WHERE `id` = 2 [0m
[4;35;1mSQL (0.000661) [0m [0mCOMMIT [0m
[4;36;1mSport Load (0.000821) [0m [0;1mSELECT * FROM `sports`
WHERE (`sports`.`id` = 2) [0m
[4;35;1mSQL (0.000150) [0m [0mBEGIN [0m
[4;36;1mSport Update (0.000262) [0m [0;1mUPDATE `sports` SET
`created_at` = ''2008-03-14 22:50:23'', `position` = 2,
`updated_at` =
''2008-03-26 19:40:58'', `name` = ''Off Field''
WHERE `id` = 2 [0m
[4;35;1mSQL (0.000149) [0m [0mCOMMIT [0m
[4;36;1mSport Load (0.000529) [0m [0;1mSELECT * FROM `sports`
WHERE (`sports`.`id` = 4) [0m
[4;35;1mJoin Table Columns (0.003138) [0m [0mSHOW FIELDS FROM
`groups_sports` [0m
[4;36;1mGroup Load (0.001094) [0m [0;1mSELECT * FROM `groups`
INNER JOIN groups_sports ON groups.id = groups_sports.group_id WHERE
(groups_sports.sport_id = 4 ) [0m
-----
This continues and loops through every sport (listed by id in the
sortable_list array) systematically changing the position correctly but
also deleting the group and locale associations..
My mind isn''t any clearer this morning on it?
Si.
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---