Hi, Which version of activescaffold do you use?
-- Volker On May 3, 12:01 pm, guidoadler <[email protected]> wrote: > Hi, > > I have a strange redirection issue that I cannot figure out myself. > This is what I would like to get (the default behaviour of > activescaffold): > Via an action link in the antibodies table, associated > antibody_instances are shown nested within the antibodies list. When > whithin the nested antibody_instances list another antibody_instance > is created, after creation the create form is closed and the new > instance is shown in the nested list. (The browser stays > athttp://111.dyndns.org:3001/antibodies) > > What I do get: > After creating another antibody_instance in the nested table, the > antibody_instances of the respective antibody are not shown nested, > but in a non-nested list (Redirected > tohttp://111.dyndns.org:3001/antibody_instances?eid=9d7cf42afd28047c1f6...) > > This happens only for classes, that have_one storage_assignment (like > AntibodyInstance). > class Antibody > has_many :antibody_instances > > class AntibodyInstance > belongs_to :antibody > has_one :storage_assignment, :as => :item, :conditions => > "storage_assignments.item_type = 'AntibodyInstance'", :dependent > => :delete > has_one :storage, :through => :storage_assignment, :as => :item > > class Storage > has_many :storage_assignments > has_many :antibody_instances, :through > => :storage_assignments, :source => :item, :source_type => > "AntibodyInstance" > > class StorageAssignment > belongs_to :storage, :class_name => '::Storage' # otherwise, it > clashes with PaperClip::Storage > belongs_to :item, :polymorphic => true > belongs_to :slot > > class Slot > has_many :storage_assignments > belongs_to :grid > > class Grid > has_many :slots > belongs_to :storage_assignment > > The nested create-post of a well behaving class (does not have_one > storage_assignment) looks like: > > Processing MarkersController#create (for 11.111.111.111 at 2011-05-03 > 11:19:32) [POST] > Parameters: {"eid"=>"3f1ea33b0ab5b9c5bfe3ce2dc256ee35", > "parent_column"=>"children", "commit"=>"Create", "nested"=>"true", > "action"=>"create", > "authenticity_token"=>"MibMg6+ktEG12PyKSBQKr0fVWpHVtvQhD3rC+v99ukA=", > "parent_model"=>"Marker", "controller"=>"markers", > "record"=>{"name"=>"löschen"}} > create_authroized: {:parent=>"1"} > Marker Load (0.2ms) SELECT * FROM `markers` WHERE (`markers`.`id` > = '1') LIMIT 1 > User Columns (0.6ms) SHOW FIELDS FROM `users` > User Load (0.2ms) SELECT * FROM `users` WHERE (`users`.`id` = '1') > LIMIT 1 > SQL (0.1ms) BEGIN > User Update (0.2ms) UPDATE `users` SET `updated_at` = '2011-05-03 > 11:19:32', `last_request_at` = '2011-05-03 11:19:32' WHERE `id` = 1 > SQL (100.3ms) COMMIT > SQL (0.1ms) BEGIN > Marker Load (0.2ms) SELECT * FROM `markers` WHERE (`markers`.`id` > = 1) > Marker Load (0.2ms) SELECT `markers`.id FROM `markers` WHERE > (`markers`.`name` = BINARY 'löschen') LIMIT 1 > CACHE (0.0ms) SELECT `markers`.id FROM `markers` WHERE > (`markers`.`name` = BINARY 'löschen') LIMIT 1 > SQL (0.9ms) SELECT max(`markers`.rgt) AS max_rgt FROM `markers` > Marker Create (0.2ms) INSERT INTO `markers` (`name`, `created_at`, > `updated_at`, `lft`, `user_id`, `parent_id`, `rgt`) VALUES('löschen', > '2011-05-03 11:19:32', '2011-05-03 11:19:32', 3331, NULL, 1, 3332) > Marker Load (0.2ms) SELECT * FROM `markers` WHERE (`markers`.`id` > = 1) ORDER BY `lft` > Marker Load (0.2ms) SELECT `lft`, `rgt`, `parent_id` FROM > `markers` WHERE (`markers`.`id` = 1721) > Marker Update (21.5ms) UPDATE `markers` SET `lft` = CASE WHEN > `lft` BETWEEN 6 AND 3330 THEN `lft` + 3332 - 3330 WHEN `lft` BETWEEN > 3331 AND 3332 THEN `lft` + 6 - 3331 ELSE `lft` END, `rgt` = CASE WHEN > `rgt` BETWEEN 6 AND 3330 THEN `rgt` + 3332 - 3330 WHEN `rgt` BETWEEN > 3331 AND 3332 THEN `rgt` + 6 - 3331 ELSE `rgt` END, `parent_id` = CASE > WHEN id = 1721 THEN 1 ELSE `parent_id` END > Marker Load (0.2ms) SELECT `lft`, `rgt`, `parent_id` FROM > `markers` WHERE (`markers`.`id` = 1) > Marker Load (0.2ms) SELECT `lft`, `rgt`, `parent_id` FROM > `markers` WHERE (`markers`.`id` = 1721) > Marker Load (0.2ms) SELECT * FROM `markers` WHERE (`markers`.`id` > = 1) > Marker Load (0.2ms) SELECT * FROM `markers` WHERE (`markers`.`id` > = 1) ORDER BY `lft` > CACHE (0.0ms) SELECT `lft`, `rgt`, `parent_id` FROM `markers` > WHERE (`markers`.`id` = 1721) > SQL (127.5ms) COMMIT > Rendering on_create > CellLine Columns (0.7ms) SHOW FIELDS FROM `cell_lines` > SQL (0.3ms) SELECT count(*) AS count_all FROM `cell_lines` WHERE > (`cell_lines`.marker_id = 1721) > CACHE (0.0ms) SELECT * FROM `markers` WHERE (`markers`.`id` = 1) > Antibody Columns (0.6ms) SHOW FIELDS FROM `antibodies` > SQL (0.4ms) SELECT count(*) AS count_all FROM `antibodies` WHERE > (`antibodies`.marker_id = 1721) > SQL (1.3ms) SELECT count(*) AS count_all FROM `markers` WHERE > ((`markers`.id != 1721) AND (`markers`.`lft` >= 6 AND `markers`.`rgt` > <= 7)) > Rendered _list_actions (122.4ms) > Rendered _list_record (137.8ms) > Rendered _messages (1.0ms) > Completed in 451ms (View: 156, DB: 258) | 200 OK [http:// > 111.dyndns.org/markers? > eid=3f1ea33b0ab5b9c5bfe3ce2dc256ee35&nested=true&parent_column=children&parent_model=Marker] > > For a class where false redirection to the non-nested list occurs, it > looks like: > > Processing AntibodyInstancesController#create (for 11.111.111.111 at > 2011-05-03 11:26:50) [POST] > Parameters: {"eid"=>"9d7cf42afd28047c1f66ddaea12530ce", > "parent_column"=>"antibody_instances", "commit"=>"Create", > "nested"=>"true", "action"=>"create", > "authenticity_token"=>"MibMg6+ktEG12PyKSBQKr0fVWpHVtvQhD3rC+v99ukA=", > "parent_model"=>"Antibody", "controller"=>"antibody_instances", > "record"=>{"opened(3i)"=>"3", "usebefore_status"=>"unknown", > "storage_assignment"=>{"storage"=>{"id"=>"8"}}, > "lotnumber"=>"lsöchen", "usebefore(1i)"=>"2011", > "opened_status"=>"unopened", "usebefore(2i)"=>"5", > "opened(1i)"=>"2011", "usebefore(3i)"=>"3", "opened(2i)"=>"5"}} > User Load (0.2ms) SELECT * FROM `users` WHERE (`users`.`id` = '1') > LIMIT 1 > SQL (0.1ms) BEGIN > User Update (0.2ms) UPDATE `users` SET `updated_at` = '2011-05-03 > 11:26:50', `last_request_at` = '2011-05-03 11:26:50' WHERE `id` = 1 > SQL (142.7ms) COMMIT > Antibody Load (0.2ms) SELECT * FROM `antibodies` WHERE > (`antibodies`.`id` = '619') LIMIT 1 > SourceKind Load (0.2ms) SELECT * FROM `source_kinds` WHERE > (`source_kinds`.`id` = 1) > SQL (0.1ms) BEGIN > Storage Load (0.2ms) SELECT * FROM `storages` WHERE > (`storages`.`id` = 8) > Antibody Load (0.2ms) SELECT * FROM `antibodies` WHERE > (`antibodies`.`id` = 619) > CACHE (0.0ms) SELECT * FROM `source_kinds` WHERE > (`source_kinds`.`id` = 1) > Storage Load (0.6ms) SELECT `storages`.id FROM `storages` WHERE > (`storages`.`name` = BINARY 'BNI' AND `storages`.parent_id IS NULL AND > `storages`.id <> 8) LIMIT 1 > AntibodyInstance Create (0.2ms) INSERT INTO `antibody_instances` > (`created_at`, `opened`, `mass`, `updated_at`, `tests`, `antibody_id`, > `concentration`, `lotnumber`, `user_id`, `volume`, `usebefore`, > `isexhausted`) VALUES('2011-05-03 11:26:50', NULL, NULL, '2011-05-03 > 11:26:50', NULL, 619, NULL, 'lsöchen', 1, NULL, NULL, 0) > StorageAssignment Create (0.2ms) INSERT INTO `storage_assignments` > (`storage_id`, `created_at`, `updated_at`, `slot_id`, `item_id`, > `item_type`) VALUES(8, '2011-05-03 11:26:50', '2011-05-03 11:26:50', > NULL, 794, 'AntibodyInstance') > SQL (112.5ms) COMMIT > Marker Load (0.2ms) SELECT * FROM `markers` WHERE (`markers`.`id` > = 519) > Conjugate Load (0.2ms) SELECT * FROM `conjugates` WHERE > (`conjugates`.`id` = 19) > Manufacturer Load (0.2ms) SELECT * FROM `manufacturers` WHERE > (`manufacturers`.`id` = 20) > Redirected > tohttp://111.dyndns.org:3001/antibody_instances?eid=9d7cf42afd28047c1f6... > Completed in 290ms (DB: 266) | 302 Found [http://111.dyndns.org/ > antibody_instances? > eid=9d7cf42afd28047c1f66ddaea12530ce&nested=true&parent_column=antibody_instances&parent_model=Antibody] > SQL (0.0ms) SET NAMES 'utf8' > SQL (0.0ms) SET SQL_AUTO_IS_NULL=0 > AntibodyInstance Columns (0.6ms) SHOW FIELDS FROM > `antibody_instances` > Antibody Columns (0.7ms) SHOW FIELDS FROM `antibodies` > User Columns (0.6ms) SHOW FIELDS FROM `users` > Conjugate Columns (0.4ms) SHOW FIELDS FROM `conjugates` > Isotypeh Columns (0.4ms) SHOW FIELDS FROM `isotypehs` > Isotypel Columns (0.4ms) SHOW FIELDS FROM `isotypels` > Manufacturer Columns (0.4ms) SHOW FIELDS FROM `manufacturers` > Marker Columns (0.5ms) SHOW FIELDS FROM `markers` > Origin Columns (0.4ms) SHOW FIELDS FROM `origins` > ReagentType Columns (0.4ms) SHOW FIELDS FROM `reagent_types` > SourceKind Columns (0.4ms) SHOW FIELDS FROM `source_kinds` > StorageAssignment Columns (0.4ms) SHOW FIELDS FROM > `storage_assignments` > Slot Columns (0.4ms) SHOW FIELDS FROM `slots` > Grid Columns (0.4ms) SHOW FIELDS FROM `grids` > Storage Columns (0.4ms) SHOW FIELDS FROM `storages` > Group Columns (0.4ms) SHOW FIELDS FROM `groups` > > Processing AntibodyInstancesController#index (for 11.111.111.111 at > 2011-05-03 11:26:53) [GET] > Parameters: {"eid"=>"9d7cf42afd28047c1f66ddaea12530ce", > "action"=>"index", "controller"=>"antibody_instances"} > Antibody Load (0.2ms) SELECT * FROM `antibodies` WHERE > (`antibodies`.`id` = '619') LIMIT 1 > SourceKind Load (0.2ms) SELECT * FROM `source_kinds` WHERE > (`source_kinds`.`id` = 1) > SQL (4.3ms) SELECT count(DISTINCT `antibody_instances`.id) AS > count_all FROM `antibody_instances` LEFT OUTER JOIN `users` ON > `users`.id = `antibody_instances`.user_id LEFT OUTER JOIN > `storage_assignments` ON `storage_assignments`.item_id = > `antibody_instances`.id AND `storage_assignments`.item_type = > 'AntibodyInstance'AND storage_assignments.item_type = > 'AntibodyInstance' LEFT OUTER JOIN `comments` ON `comments`.item_id = > `antibody_instances`.id AND `comments`.item_type = 'AntibodyInstance' > LEFT OUTER JOIN `attachments` ON `attachments`.item_id = > `antibody_instances`.id AND `attachments`.item_type = > 'AntibodyInstance' LEFT OUTER JOIN `antibodies` ON `antibodies`.id = > `antibody_instances`.antibody_id WHERE > (((antibody_instances.antibody_id = '619'))) > AntibodyInstance Load (0.9ms) SELECT `antibody_instances`.* FROM > `antibody_instances` WHERE (((antibody_instances.antibody_id = > '619'))) ORDER BY `antibody_instances`.`created_at` DESC LIMIT 0, 40 > User Load (0.2ms) SELECT * FROM `users` WHERE (`users`.`id` = 1) > StorageAssignment Load (0.8ms) SELECT `storage_assignments`.* FROM > `storage_assignments` WHERE (`storage_assignments`.`item_id` IN > (794,793,792) and `storage_assignments`.`item_type` = > 'AntibodyInstance' AND (storage_assignments.item_type = > 'AntibodyInstance')) > Comment Load (0.5ms) SELECT `comments`.* FROM `comments` WHERE > (`comments`.`item_id` IN (794,793,792) and `comments`.`item_type` = > 'AntibodyInstance') > Attachment Load (1.1ms) SELECT `attachments`.* FROM `attachments` > WHERE (`attachments`.`item_id` IN (794,793,792) and > `attachments`.`item_type` = 'AntibodyInstance') > Antibody Load (0.2ms) SELECT * FROM `antibodies` WHERE > (`antibodies`.`id` = 619) > Rendering template within layouts/application > Rendering list > User Load (0.2ms) SELECT * FROM `users` WHERE (`users`.`id` = '1') > LIMIT 1 > SQL (0.1ms) BEGIN > User Update (0.2ms) UPDATE `users` SET `updated_at` = '2011-05-03 > 11:26:53', `last_request_at` = '2011-05-03 11:26:53' WHERE `id` = 1 > SQL (90.4ms) COMMIT > Rendered _list_header (113.4ms) > Rendered _list_column_headings (38.8ms) > Rendered _messages (1.1ms) > Group Load (0.2ms) SELECT * FROM `groups` WHERE (`groups`.`id` = > 9) > Group Load (0.3ms) SELECT * FROM `groups` WHERE (`groups`.`lft` <= > 4 AND `groups`.`rgt` >= 5) ORDER BY `lft` > Storage Load (0.8ms) SELECT `storages`.* FROM `storages` INNER > JOIN `storage_assignments` ON `storages`.id = > `storage_assignments`.storage_id WHERE ((`storage_assignments`.item_id > = 794) AND (`storage_assignments`.item_type = 'AntibodyInstance') AND > ((storage_assignments.item_type = 'AntibodyInstance'))) > Storage Load (0.5ms) SELECT * FROM `storages` WHERE > (`storages`.`lft` <= 1 AND `storages`.`rgt` >= 856) ORDER BY `lft` > SourceKind Load (0.2ms) SELECT * FROM `source_kinds` WHERE > (`source_kinds`.`id` = 1) > Attachment Columns (0.5ms) SHOW FIELDS FROM `attachments` > Marker Load (0.2ms) SELECT * FROM `markers` WHERE (`markers`.`id` > = 519) > Conjugate Load (0.2ms) SELECT * FROM `conjugates` WHERE > (`conjugates`.`id` = 19) > Manufacturer Load (0.2ms) SELECT * FROM `manufacturers` WHERE > (`manufacturers`.`id` = 20) > Rendered _list_actions (19.5ms) > Rendered _list_record (53.1ms) > CACHE (0.0ms) SELECT * FROM `groups` WHERE (`groups`.`lft` <= 4 > AND `groups`.`rgt` >= 5) ORDER BY `lft` > Storage Load (0.7ms) SELECT `storages`.* FROM `storages` INNER > JOIN `storage_assignments` ON `storages`.id = > `storage_assignments`.storage_id WHERE ((`storage_assignments`.item_id > = 793) AND (`storage_assignments`.item_type = 'AntibodyInstance') AND > ((storage_assignments.item_type = 'AntibodyInstance'))) > CACHE (0.0ms) SELECT * FROM `storages` WHERE (`storages`.`lft` <= > 1 AND `storages`.`rgt` >= 856) ORDER BY `lft` > Rendered _list_actions (5.7ms) > Rendered _list_record (16.7ms) > CACHE (0.0ms) SELECT * FROM `groups` WHERE (`groups`.`lft` <= 4 > AND `groups`.`rgt` >= 5) ORDER BY `lft` > Storage Load (0.7ms) SELECT `storages`.* FROM `storages` INNER > JOIN `storage_assignments` ON `storages`.id = > `storage_assignments`.storage_id WHERE ((`storage_assignments`.item_id > = 792) AND (`storage_assignments`.item_type = 'AntibodyInstance') AND > ((storage_assignments.item_type = 'AntibodyInstance'))) > CACHE (0.0ms) SELECT * FROM `storages` WHERE (`storages`.`lft` <= > 1 AND `storages`.`rgt` >= 856) ORDER BY `lft` > Rendered _list_actions (5.6ms) > Rendered _list_record (16.3ms) > Rendered _list (265.3ms) > Completed in 432ms (View: 313, DB: 112) | 200 OK [http:// > 111.dyndns.org/antibody_instances? > eid=9d7cf42afd28047c1f66ddaea12530ce] > > Why does the redirect occur and how can I prevent it? > > Thanks > Guido -- You received this message because you are subscribed to the Google Groups "ActiveScaffold : Ruby on Rails plugin" 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/activescaffold?hl=en.
