Acts_as_tree


#1

I’m new to rails and was playing with a simple model with
acts_as_threaded. The sql is…

CREATE TABLE bobbits
(
id integer NOT NULL DEFAULT
nextval(‘destination_countrycode_id_seq’::regclass),
name character varying(100) NOT NULL,
description text,
parent_id integer,
CONSTRAINT bobbits_pkey PRIMARY KEY (id)
)

and the only change i made after generating scaffolding was of course:

class Bobbit < ActiveRecord::Base
acts_as_tree :order => “name”
end

Now I expected that rendering of a bobbit in the browser would present
an drop-down list for parent, but no such luck. Whats up?


#2

On Jun 30, 8:53 pm, dailer removed_email_address@domain.invalid wrote:

CONSTRAINT bobbits_pkey PRIMARY KEY (id)
)

and the only change i made after generating scaffolding was of course:

class Bobbit < ActiveRecord::Base
acts_as_tree :order => “name”
end

Now I expected that rendering of a bobbit in the browser would present
an drop-down list for parent, but no such luck. Whats up?

could someone at least confirm that I should see a dropdown?


#3

dailer wrote:

On Jun 30, 8:53 pm, dailer removed_email_address@domain.invalid wrote:

CONSTRAINT bobbits_pkey PRIMARY KEY (id)
)

and the only change i made after generating scaffolding was of course:

could someone at least confirm that I should see a dropdown?

i don’t know of a dropdown that should be populated automatically with
“generate scaffold”, but i haven’t used the ‘generate scaffold’ in a
long time, so i may be way outdated. to answer your question though, i
would have to say i personally don’t know of any dropdown that should be
generated when creating an association.


#4

generated when creating an association.

… or acts_as_tree etc


#5

On Jun 30, 8:53 pm, dailer removed_email_address@domain.invalid wrote:

CONSTRAINT bobbits_pkey PRIMARY KEY (id)
)

and the only change i made after generating scaffolding was of course:

class Bobbit < ActiveRecord::Base
acts_as_tree :order => “name”
end

Now I expected that rendering of a bobbit in the browser would present
an drop-down list for parent, but no such luck. Whats up?

could someone at least confirm that I should see a dropdown?


#6

On Jul 1, 7:23 am, Shai R. removed_email_address@domain.invalid
wrote:

generated when creating an association.

… or acts_as_tree etc


Posted viahttp://www.ruby-forum.com/.

ah, I see my mistake was skimming the recipe example and I missed the
part where the view was updated with the select/dropdown.


#7

No. acts_as_tree is an extension to ActiveRecord – the objects-
wrapping-db mechanism in rails (Model). Dropdowns are a function of
the view. By default, the scaffold will generate a text_column for
almost everything but date, datetime, and boolean fields.

If you want a dropdown for parent, you need to change the scaffolded
field that probably looks like:

Parent <%= text_field f.parent_id %> <----- this one

To something along the lines of…

Parent <%= select f.parent_id, Bobbit.find(:all, :order=>'name').collect{| bobbit| [bobbit.name, bobbit.id]} %>

The select object accepts the name of the attribute to be filled
(parent_id), and an enumerable set of options. In the example above,
you’re retrieving all the Bobbits, ordered by their name, and creating
an array of name/val pairs to be displayed in the dropdown.

HTH,
AndyV