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.


Reply via email to