Re: [Rails] Re: Values not being being reflected on page after validation error but model has the values
On Mon, Dec 10, 2012 at 2:26 PM, rubyrookie <asajnani@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?
- Fix the payment process because you don't know what validations are failing?
- retain the values passed by the user when validations fail?
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/jSZvC8ID4ycJ.
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.jsondef new@payment = Payment.new@merchant = Merchant.find(params[:merchant_id])respond_to do |format|format.html # show.html.erbendenddef indexif params[:merchant_id]@payments = Merchant.find(params[:merchant_id]).paymentselse@payments = Payment.allendrespond_to do |format|format.html # index.html.erbformat.json { render json: @merchants }endenddef create@merchant = Merchant.find(params[:merchant_id])@payment = @merchant.payments.create(params[:payment])respond_to do |format|if @merchant.saveformat.html {redirect_to merchants_path}elseformat.html { render action: "new" }endendendend
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+unsubscribe@googlegroups.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 rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home