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.

Reply via email to