Forum: Ruby on Rails newbie -- displaying 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.
B7cad399c3a8c73bc2ed4955a8ee2ed1?d=identicon&s=25 Mark Probert (Guest)
on 2006-02-07 02:31
(Received via mailing list)
Hi ..

A conceptual question this time.

I have the relation:

    member (m)---(1) member_type

The schema looks something like this (simplified + PGSQL)

   create table member_types (
     id             serial,
     info           varchar( 20 )  not null,
     primary key( id )
   );

   create table members (
     id             serial,
     first_name     varchar( 100 )  not null,
     last_name      varchar( 100 )  not null,
     email          varchar( 100 )  not null,
     member_type_id integer         not null,
     primary key( id ),
     constraint fk_m_member_type foreign key( member_type_id ) \
                                 references member_types( id )
);

And in the model:

   class Member < ActiveRecord::Base
     belongs_to :voice_type
     # validation stuff removed
   end

My question is that I want to add a new member, with the member_types as
a select list.  Obviously, when I add the member to the database, I will
want to add the id, rather than the actual member_type.

In app/views/admin/new.rhtml, I have this (snippet from table add):

    @mt = MemberType.find( :all, :order => "info" )
    select( :member_type_id, :member_type, @mt )

Which returns the correct number of rows, but of Object IDs, rather than
the info strings.

Clearly I haven't got it right.  I am pretty sure that this would be a
FAQ, though I am not able to find anything that directly answers this
type of question.

Any help appreciated.

--

-mark.
This topic is locked and can not be replied to.