From: Rajkumar Surabhi on
HI all

in my application , i have 2 tables subjects and teachers. the relation
is one to many.

i have to display the subjects first and when i click on the subjects i
have to display the teachers.

and i have to add the new teacher to the teachers table by selecting the
subject.

how to do this
--
Posted via http://www.ruby-forum.com/.

From: Josh Cheek on
[Note: parts of this message were removed to make it a legal post.]

On Thu, Mar 25, 2010 at 5:19 AM, Rajkumar Surabhi <mailtorajuit(a)gmail.com>wrote:

> HI all
>
> in my application , i have 2 tables subjects and teachers. the relation
> is one to many.
>
> i have to display the subjects first and when i click on the subjects i
> have to display the teachers.
>
> and i have to add the new teacher to the teachers table by selecting the
> subject.
>
> how to do this
> --
> Posted via http://www.ruby-forum.com/.
>
>
Hi, Rajkumar, this is the Ruby mailing list, you probably want the Ruby on
Rails list at http://groups.google.com/group/rubyonrails-talk

The associations guide at
http://guides.rubyonrails.org/association_basics.html talks about what you
are asking. The short answer is that subjects will have a foreign key of the
teachers, and in your model you say "belongs_to :teacher" and in your
teacher model you say "has_many :subjects"

Then from a subject, you can get it's teacher with subject.teacher and from
a teacher you can get it's subjects with teacher.subjects. To link them up,
just use the setters. subject.teacher = current_teacher.

You should consider, though, whether this design is really appropriate. At
my university, a subject may be taught by multiple teachers. For example,
there are usually between 5 and 10 calculus courses, each one taught by a
different teacher. You may want to add a courses table, where each course
belongs to one subject, and one teacher, and then you can have a many to
many relationship between subjects and teachers, through the courses. That
should all be talked about on the guide I linked you to, but really the
Rails ML is where you should ask future questions about ActiveRecord.