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?
   - Fix the payment process because you don't know what validations are
   failing?
   - retain the values passed by the user when validations fail?



>
> 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.**count, "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[:**merchant_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(**params[: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 [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/-/jSZvC8ID4ycJ.
>
> 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