On Mon, Dec 10, 2012 at 3:42 PM, rubyrookie <asajn...@gmail.com> 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 :)


>
>
> On Sunday, December 9, 2012 11:33:56 PM UTC-8, jim wrote:
>
>>
>>
>>
>> On Mon, Dec 10, 2012 at 3:16 PM, rubyrookie <asaj...@gmail.com> wrote:
>>
>>>
>>>
>>> On Sunday, December 9, 2012 11:08:57 PM UTC-8, jim wrote:
>>>
>>>>
>>>>
>>>>
>>>> On Mon, Dec 10, 2012 at 2:26 PM, rubyrookie <asaj...@gmail.com> 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 rubyonrails-talk@googlegroups.com.
> To unsubscribe from this group, send email to
> rubyonrails-talk+unsubscr...@googlegroups.com.
> 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

-- 
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@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to