On Mon, Dec 10, 2012 at 3:45 PM, Jim Ruther Nill <[email protected]> wrote:
> > > > On Mon, Dec 10, 2012 at 3:42 PM, rubyrookie <[email protected]> wrote: > >> Thank you very much. I will read up on the difference. Sorry should have >> bolded my answers. > > > No worries. If you're looking for the difference, @payment (as you > already know) uses the same > record as the one you have in your controllers. If you use > @merchant.payments.build, you're > creating a new payment record which does not contain the values submitted > by the user :) > regarding your question on the field_error_proc. read this one and please don't email users directly :) http://guides.rubyonrails.org/configuring.html#configuring-action-view > > >> >> >> 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]> 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/ >>>>>> **ms**g/rubyonrails-talk/-/**jSZvC8ID4**ycJ<https://groups.google.com/d/msg/rubyonrails-talk/-/jSZvC8ID4ycJ> >>>>>> . >>>>>> >>>>>> For more options, visit >>>>>> https://groups.google.com/**grou**ps/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 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/-/**DbPFCiH_y0UJ<https://groups.google.com/d/msg/rubyonrails-talk/-/DbPFCiH_y0UJ> >>>> . >>>> >>>> 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/-/I6TAroHPoZkJ. >> >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > > > -- > ------------------------------------------------------------- > visit my blog at http://jimlabs.heroku.com > -- ------------------------------------------------------------- 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.

