Thank you very much. I will read up on the difference. Sorry should have bolded my answers.
On Sunday, December 9, 2012 11:33:56 PM UTC-8, jim wrote: > > > > > On Mon, Dec 10, 2012 at 3:16 PM, rubyrookie <[email protected]<javascript:> > > 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]<javascript:> >> . >> To unsubscribe from this group, send email to >> [email protected] <javascript:>. >> 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]. To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/I6TAroHPoZkJ. For more options, visit https://groups.google.com/groups/opt_out.

