Try something like:
def create_visit(for_patient)
# This populates patient_visit.patient_id w/the proper id value
patient_visit = for_patient.visits.new
# Note that I've changed the action from index to new--that's
# the convention for actions that create new objects.
redirect_to(:controller=>"patient_visit", :action=>"new")
end
And then in your view, you add:
<%= form.hidden_field(:patient_id) %>
Anyplace inside your form_for block.
That should get you a params[:patient_visit] from which you can create a visit
for a specific patient.
HTH,
-Roy
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Lance Klusener
Sent: Wednesday, January 07, 2009 1:01 PM
To: [email protected]
Subject: [Rails] Passing data from action of cntrlr 1 to action of cntrlr 2
The question is about passing data from action of one controller to action of
another controller.
Inside the new_patient_controller i have the following code when the button
"next" is clicked
def create_visit (created_patient)
redirect_to(:controller=>"patient_visit",:action=>"index",:created_patient=>created_patient)
end
This is suppose to call the index view of the "patient_visit" controller .
Now the "patient_visit" controller has the following form
1. <% form_for :patient_visit , :url => { :action => :save_patient_visit }
do |form| %>
2.
3. <p>
4. <%= label :patient_visit , :complaints , "Complaints:" %>
5. <%= form.text_area :complaints , :size => 20 %>
6. </p>
7.
8. <p>
9. <%= label :patient_visit , :systemic_history , "Systemic
History:" %>
10. <%= form.text_field :systemic_history , :size => 40 %>
11. </p>
12.
13. <p>
14. <%= label :patient_visit , :opthal_history , "Opthal
History:" %>
15. <%= form.text_field :opthal_history , :size => 40 %>
16. </p>
17.
18. <%= submit_tag "next" , :class => "submit" %>
19.
20. <%end%>
Because of this the params which originally had the value of "created_patient"
now gets overwritten with the new params which has the value of
":patient_visit" .
I need the created_patient value , cause i need to attach the patient_visit
database entry to the created_patient. ( since one patient has many visits )
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
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 [email protected]
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
-~----------~----~----~----~------~----~------~--~---