Forum: Ruby on Rails acts_as_tree

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
2a13a8755be0c992152547834a15d3d5?d=identicon&s=25 dailer (Guest)
on 2007-07-01 02:54
(Received via mailing list)
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?
2a13a8755be0c992152547834a15d3d5?d=identicon&s=25 dailer (Guest)
on 2007-07-01 13:14
(Received via mailing list)
On Jun 30, 8:53 pm, dailer <d.sai...@comcast.net> 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?
4c3acdc3d93f54cc7a7281780ec8a4ee?d=identicon&s=25 Shai Rosenfeld (shai)
on 2007-07-01 13:22
dailer wrote:
> On Jun 30, 8:53 pm, dailer <d.sai...@comcast.net> 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.
4c3acdc3d93f54cc7a7281780ec8a4ee?d=identicon&s=25 Shai Rosenfeld (shai)
on 2007-07-01 13:23
> generated when creating an association.

... or acts_as_tree etc
2a13a8755be0c992152547834a15d3d5?d=identicon&s=25 dailer (Guest)
on 2007-07-01 13:31
(Received via mailing list)
On Jun 30, 8:53 pm, dailer <d.sai...@comcast.net> 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?
2a13a8755be0c992152547834a15d3d5?d=identicon&s=25 dailer (Guest)
on 2007-07-01 13:48
(Received via mailing list)
On Jul 1, 7:23 am, Shai Rosenfeld <rails-mailing-l...@andreas-s.net>
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.
9a71df6388c8d37bfdf0e18742ea944a?d=identicon&s=25 AndyV (Guest)
on 2007-07-02 03:14
(Received via mailing list)
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:

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

To something along the lines of....

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


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
This topic is locked and can not be replied to.