Ok, my problem is that I have a form with a client’s information. Now in
the form, I ask the client for his info, which inserts into the table
“clients”, and then I have another text input where he has to provide a
specific detail that i want to be inserted into the table “details”. How
can I insert this data into 2 different tables?
On 5/15/07, Matthew L. [email protected] wrote:
Ok, my problem is that I have a form with a client’s information. Now in
the form, I ask the client for his info, which inserts into the table
“clients”, and then I have another text input where he has to provide a
specific detail that i want to be inserted into the table “details”. How
can I insert this data into 2 different tables?
It sounds like you should establish an association between the two
models:
class Client < ActiveRecord::Base
has_many :details
end
class Detail < ActiveRecord::Base
belongs_to :client
end
This would require a client_id column in the details table.
Then, when the form is submitted, you would do something like:
client = Client.new(params[:client])
client.details.build(params[:detail])
client.save
The one save inserts both the clients and details rows.
HTH
Bob S. wrote:
On 5/15/07, Matthew L. [email protected] wrote:
Ok, my problem is that I have a form with a client’s information. Now in
the form, I ask the client for his info, which inserts into the table
“clients”, and then I have another text input where he has to provide a
specific detail that i want to be inserted into the table “details”. How
can I insert this data into 2 different tables?It sounds like you should establish an association between the two
models:class Client < ActiveRecord::Base
has_many :details
endclass Detail < ActiveRecord::Base
belongs_to :client
endThis would require a client_id column in the details table.
Then, when the form is submitted, you would do something like:
client = Client.new(params[:client])
client.details.build(params[:detail])
client.saveThe one save inserts both the clients and details rows.
HTH
Ok i got that, but in my new.rhtml, what do I put in the value field of
my text input? I tried <%= @client.details.name %> but it doesn’t work.
Thanks alot for the help
Matthew L. wrote:
Bob S. wrote:
On 5/15/07, Matthew L. [email protected] wrote:Ok, my problem is that I have a form with a client’s information. Now in
the form, I ask the client for his info, which inserts into the table
“clients”, and then I have another text input where he has to provide a
specific detail that i want to be inserted into the table “details”. How
can I insert this data into 2 different tables?
It sounds like you should establish an association between the two
models:
class Client < ActiveRecord::Base
has_many :details
endclass Detail < ActiveRecord::Base
belongs_to :client
endThis would require a client_id column in the details table.
Then, when the form is submitted, you would do something like:
client = Client.new(params[:client])
client.details.build(params[:detail])
client.saveThe one save inserts both the clients and details rows.
HTH
Ok i got that, but in my new.rhtml, what do I put in the value field of
my text input? I tried <%= @client.details.name %> but it doesn’t work.Thanks alot for the help
Oh and what do i put as my id and name for my text input also?
Thanks
On 5/15/07, Matthew L. [email protected] wrote:
Ok i got that, but in my new.rhtml, what do I put in the value field of
my text input? I tried <%= @client.details.name %> but it doesn’t work.
Oh, I see what you’re saying.
You should keep two separate objects for the purpose of the form:
(in controller)
@client = Client.new
@detail = Detail.new
Then in the view:
<%= text_field :detail, :name %>
Before the save, you would add the detail to the client:
@client.details << @detail
@client.save
Bob S. wrote:
On 5/15/07, Matthew L. [email protected] wrote:
Ok i got that, but in my new.rhtml, what do I put in the value field of
my text input? I tried <%= @client.details.name %> but it doesn’t work.Oh, I see what you’re saying.
You should keep two separate objects for the purpose of the form:
Wow! Thank you very much! I really needed to know this and i’m glad I
came here. Thanks alot for your help!