On Mon, Dec 10, 2012 at 3:16 PM, rubyrookie <[email protected]> wrote:

>
>
> On Sunday, December 9, 2012 11:08:57 PM UTC-8, jim wrote:
>
>>
>>
>>
>> On Mon, Dec 10, 2012 at 2:26 PM, rubyrookie <[email protected]> wrote:
>>
>>> No error . Validation error is populated but form does not retain
>>> values. Payment object has the values though.
>>>
>>
>> This is still confusing.  What exactly do you want to do?
>>
>>    - Show the validation errors on the form page? -> Yes, it is being
>>    displayed
>>    - Fix the payment process because you don't know what validations are
>>    failing? No, I know the validations are failing
>>    - retain the values passed by the user when validations fail? Yes.
>>    The form is not displayed the retained values. I want this to be fixed.
>>
>>
It would've helped if you somehow bolded your answers. anyway, you should
be able to do that by
changing this line

<%= form_for([@merchant, @merchant.payments.build]) do |f| %>

to

<%= form_for([@merchant, @payment]) do |f| %>

Good luck!


>
>>
>>>
>>> On Sunday, December 9, 2012 9:53:37 PM UTC-8, rubyrookie wrote:
>>>
>>>> I have a relationship where a merchant can have multiple payments. I am
>>>> posting payments to a merchant and there is a validation error. Payment
>>>> object does have the values retained. Can some one help me fix the issue?
>>>>
>>>> View Code->
>>>>
>>>> <%= @merchant.name %>
>>>>
>>>> <%= form_for([@merchant, @merchant.payments.build]) do |f| %>
>>>>
>>>> <% if @payment.errors.any? %>
>>>> <div id="error_explanation">
>>>> <h2><%= pluralize(@payment.errors.**coun**t, "error") %> prohibited
>>>> this payment from being saved:</h2>
>>>>
>>>> <ul>
>>>> <% @payment.errors.full_messages.****each do |msg| %>
>>>> <li>
>>>>  <%= msg %>
>>>> </li>
>>>> <% end %>
>>>> </ul>
>>>> </div>
>>>> <% end %>
>>>>
>>>> test
>>>> // Prints the values correctly
>>>> <%= @payment.credit_card_number %>
>>>> <%= @payment.zip %>
>>>> <%= @payment.country %>
>>>>
>>>> <div class="field">
>>>> <%= f.label :credit_card_number   %>
>>>> <br />
>>>>  <%= f.text_field :credit_card_number , :autocomplete => "off" %>
>>>> </div>
>>>> <div class="field">
>>>> <%= f.label :address_line_2 %>
>>>>  <br />
>>>> <%= f.text_field :address_line_2 %>
>>>> </div>
>>>> <div class="field">
>>>>  <%= f.label :city %>
>>>> <br />
>>>> <%= f.text_field :city %>
>>>> </div>
>>>> <div class="field">
>>>> <%= f.label :zip %>
>>>> <br />
>>>> <%= f.text_field :zip %>
>>>> </div>
>>>> <div class="field">
>>>> <%= f.label :country %>
>>>> <br />
>>>>  <%= f.text_field :country %>
>>>> </div>
>>>>
>>>> <div class="actions">
>>>> <%= f.submit %>
>>>> </div>
>>>> <% end %>
>>>>
>>>> Controller code->
>>>>
>>>> class PaymentsController < ApplicationController
>>>>   # GET /merchants/1
>>>>   # GET /merchants/1.json
>>>>   def new
>>>>     @payment = Payment.new
>>>>     @merchant = Merchant.find(params[:**merchant**_id])
>>>>     respond_to do |format|
>>>>       format.html # show.html.erb
>>>>     end
>>>>   end
>>>>
>>>>   def index
>>>>
>>>>     if params[:merchant_id]
>>>>       @payments =  Merchant.find(params[:**merchan**t_id]).payments
>>>>     else
>>>>       @payments = Payment.all
>>>>     end
>>>>
>>>>     respond_to do |format|
>>>>       format.html # index.html.erb
>>>>       format.json { render json: @merchants }
>>>>     end
>>>>   end
>>>>
>>>>   def create
>>>>     @merchant = Merchant.find(params[:**merchant**_id])
>>>>     @payment = @merchant.payments.create(**para**ms[:payment])
>>>>
>>>>     respond_to do |format|
>>>>       if @merchant.save
>>>>         format.html {redirect_to merchants_path}
>>>>       else
>>>>         format.html { render action: "new" }
>>>>
>>>>       end
>>>>     end
>>>>
>>>>   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 rubyonra...@googlegroups.**com.
>>> To unsubscribe from this group, send email to rubyonrails-ta...@**
>>> googlegroups.com.
>>> To view this discussion on the web visit https://groups.google.com/d/**
>>> msg/rubyonrails-talk/-/**jSZvC8ID4ycJ<https://groups.google.com/d/msg/rubyonrails-talk/-/jSZvC8ID4ycJ>
>>> .
>>>
>>> For more options, visit 
>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>> .
>>>
>>>
>>>
>>
>>
>>
>> --
>> ------------------------------**------------------------------**-
>> visit my blog at http://jimlabs.heroku.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].
> To view this discussion on the web visit
> https://groups.google.com/d/msg/rubyonrails-talk/-/DbPFCiH_y0UJ.
>
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



-- 
-------------------------------------------------------------
visit my blog at http://jimlabs.heroku.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 https://groups.google.com/groups/opt_out.


Reply via email to