Folks,
I have an app that collects customer info and asks the user to click a
checkbox if he has a billing address that''s different from his shipping
info. There''s an event listener that detects the checkbox click and
renders a partial with the billing address info. Works great. Except
that the billing address stuff is not being dumped into params and is
therefore not being saved in the model.
I have another app with this same functionality that works perfectly...
no idea what''s gone wrong here. suggestions?
## main view
<%= form_tag(:action => ''save_customer'') %>
<%= javascript_include_tag ''prototype'' %>
<h3>Please enter your details below</h3>
<div>
<label for="name">Name</label><br/>
<%= text_field("customer", "name", "size"
=> 40 ) %><br />
</div>
<div>
<label for="email">Your e-mail
address</label><br/>
<%= text_field("customer", "email", "size"
=> 40 ) %>
</div>
<label for="ship_address1">Your shipping
address</label><br/>
<%= text_field("customer", "ship_address1",
"size" => 40 ) %>
</div>
<div>
<label for="email">Address line 2</label><br/>
<%= text_field("customer", "ship_address2",
"size" => 40 ) %>
</div>
<div>
<label for="bill_city">City</label><br/>
<%= text_field("customer", "ship_city", "size"
=> 40 ) %>
</div>
<div>
<label for="bill_state">State</label><br/>
<%options = [["Select a state", ""]] +
Customer::STATE_NAMES
select("customer", "ship_state", options)
%>
</div>
<div>
<label for="bill_zip">Zipcode</label><br/>
<%= text_field("customer", "ship_zip", "size"
=> 10 ) %>
</div>
<div>
<label for="bill_state">Country</label><br/>
<%options = [["Select a country", ""]] +
Customer::COUNTRY_NAMES
select("customer", "ship_country", options)
%>
</div>
<div>
<label for="different_bill">Check if you have a different
billing
address</label><br/>
<%= check_box_tag("different_bill") %>
</div>
<%= observe_field(:different_bill, :update => "billinfo", :url
=> {
:controller=>''shirts'', :action =>
''billing_address'' }, :with =>
"''id=''+value" ) %>
<p id="billinfo"></p>
<div>
<label for="pay_type">Payment method</label><br/>
<select id="pay_type" name="pay_type"><option
selected="yes"></option><option>Credit
Card</option><option>Paypal</option>
</select>
</div>
<div>
<br />
<%= submit_tag "Save" %>
</div>
<%= end_form_tag %>
#### partial
<label for="bill_address1">Your billing
address</label><br/>
<%= text_field("customer", "bill_address1",
"size" => 40 ) %>
</div>
<div>
<label for="email">Address line 2</label><br/>
<%= text_field("customer", "bill_address2",
"size" => 40 ) %>
</div>
<div>
<label for="bill_city">City</label><br/>
<%= text_field("customer", "bill_city", "size"
=> 40 ) %>
</div>
<div>
<label for="bill_state">State</label><br/>
<%options = [["Select a state", ""]] +
Customer::STATE_NAMES
select("customer", "bill_state", options)
%>
</div>
<div>
<label for="bill_zip">Zipcode</label><br/>
<%= text_field("customer", "bill_zip", "size"
=> 10 ) %>
</div>
<div>
<label for="bill_state">Country</label><br/>
<%options = [["Select a country", ""]] +
Customer::COUNTRY_NAMES
select("customer", "bill_country", options)
%>
</div>
### controller action
def billing_address
if params[:id] == "1"
render :partial => ''billinfo'', :layout => false
else
render :nothing=>true
end
end
--~--~---------~--~----~------------~-------~--~----~
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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---