Hi Cool,
This post didn't make it onto ruby-forum.com but it is on google.

On Oct 2, 11:10 pm, cool <[EMAIL PROTECTED]> wrote:
> this is my model
>    class Person < ActiveRecord::Base
>   end
> class parent < Person
> end
> class Student < person
> end
> class principal<person
> end

Obviously the above 'person' and 'principal' are capitalized.

> i have table called people.
> iam adding all the details of parent and student and principal in the
> same table.

yes

>
> my form is
>      <% form_for :student do %>

Not much point doing this if you don't include the parameter.  Also,
where is your form posting to?
      <% form_for :student , :url => {:action => 'update'} do |s| %>

>              <td><%= text_field  :first_name,  :label => "Student" %>
>               <td><%= text_field  :last_name %></td>

Then you can say:
     <td><%= s.text_field  :first_name,  :label => "Student" %>
Or
     <td><%= text_field :student , :first_name,  :label => "Student"
%>
which is the same thing.

>          <% fields_for :parent %>
You don't need "fields_for" - I don't think you're using it below.


>                  <tr>
>                   <td><%= text_field  :first_name,  :label => "Parents/
> Guardian" %></td>

So instead, it would be something like:
      <td><%= text_field  :parent , :first_name,  :label => "Parents/
Guardian" %></td>

And similarly for the rest of these:
>                   <td><%= text_field  :last_name %></td>
>                </tr>
>                <tr>
>                    <td><%= text_field :email, :label => "Email" %></td>
>                </tr>
>                <tr>
>                   <td><%= text_field  :phone,  :label => "Phone" %></td>
>                </tr>
>          <% end %>
>     <% end %>
>

See my previous post if you want a dropdown selection box; ie <%=
select ... %>.

> In the New action i have provided like
>
>      def new
>     [EMAIL PROTECTED] = Student.new
>     [EMAIL PROTECTED] = Parent.new
>
>   end
ok; you could probably even omit creating these.


> my fields in people table are
>      t.column :type, :string
>       t.column :first_name, :string
>       t.column :last_name, :string
>     t.column :email, :string
>       t.column :phone, :string
>       t.column :address, :text
ok

>
> how can we add the student details(first_name, last_name) and the
> parent details(first_name, last_name, email, phone) at the same time
> with in the same table called people.

So:
     <td><%= text_field  :parent , :first_name,  :label => "Parents/
Guardian" %></td>
will create something like
     <input type="text" name="parent[first_name]" ... />
The important thing is the name attribute.
It will be converted to
     params[:parent][:first_name]
etc

Similarly for principal:
     <td><%= text_field  :principal , :first_name %></td>

So in your update action of your controller, you then say:
  @parent=Parent.new(params[:parent])
and similarly for @student and @principal.


Regards,
Daniel

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to