Forum: Ruby on Rails scaffolding on a table with a foreign key

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.
Chris F. (Guest)
on 2007-01-03 11:55
Hi,
sorry if it is too easy a question but:

I have a table with a foreign key in it. When I apply a scaffold to it,
it does not show the foreign column in list, edit etc.
How can I make it show the foreign column?

Chris
Pras (Guest)
on 2007-01-03 14:00
(Received via mailing list)
Chris F. wrote:
> I have a table with a foreign key in it. When I apply a scaffold to it,
> it does not show the foreign column in list, edit etc.
> How can I make it show the foreign column?
Scaffold does not show columns of a table that a foreign key refers to.
You will need to add this support in your model (belongs_to,
has_one/many), view (list, new, show, delete).rhtml files and link the
tables with their foreign key relationships accordingly in your
controller. If you want an easy way out, try the plugin
scaffolding_extensions or streamlined.
Send your model details, and tell us what you intend to do, someone
over here can help you.
Chris F. (Guest)
on 2007-01-25 12:52
Hi ,
I used scaffolding_extensions.

There is a problem:
In, for example create, the foreign key is shown as the foreign id. But
I want to show the foreign id's name. How do I change it so that it is
the name attribute of the foreign key and not it's id?

Thankyou
Chris.
Jeremy E. (Guest)
on 2007-01-25 20:13
(Received via mailing list)
On 1/25/07, Chris F. <removed_email_address@domain.invalid> wrote:
>
> Hi ,
> I used scaffolding_extensions.
>
> There is a problem:
> In, for example create, the foreign key is shown as the foreign id. But
> I want to show the foreign id's name. How do I change it so that it is
> the name attribute of the foreign key and not it's id?

In the associated model:

  def scaffold_name
    name_column
  end

Actually, scaffolding_extensions defaults scaffold_name first to
self[:name] and then to id, so in your schema the column you want to
use must not be named "name".  Just put the name of the column that
contains the name you want to see in the select box.

Jeremy
This topic is locked and can not be replied to.