On Jun 18, 2014, at 2:03 PM, Rodrigo Lueneberg wrote:

> I am experiencing a loop within a after_validation when trying to update
> some attributes. Looks like it is calling validation recursively again
> and again and I am getting "stack level too deep" error message. I tried
> using a skip_callbacks but with no success.
> 
> Why is this occurring and how to fix it?
> 
> 
> require 'correios-cep'
> class Address < ActiveRecord::Base
>  attr_accessible :id, :street, :neighborhood, :city, :state, :zipcode,
> :country, :is_primary, :user_id, :latitude, :longitude,
> :is_accurate_points
>  attr_accessor :invalid_primary, :populated_address, :skip_callbacks
>  belongs_to :user
>  validates :street, presence: true
>  validates :city, presence: true
>  #validates :neighborhood, presence: true
>  validates :state, presence: true
>  validates :zipcode, presence: true
>  validates :country, presence: true
>  validates :is_primary, :inclusion => {:in => [true, false]}
>  validate :is_primary, :invalid_primary?
>  validate :street, :validateStreet?
>  validate :zipcode, :validateZip?
>  after_validation :populate_address
> 
>  def populate_address
>     self.neighborhood = populate_address.neighborhood
>     self.city = populate_address.city
>     self.street = populate_address.street
>     self.state = populate_address.state
>  end
> end

If your method is called populate_address, and you have populate_address on the 
second line of that method, what exactly do you expect to happen but a loop? Is 
that a typo? You've used it over and over, and it doesn't seem to be defined 
anywhere else.

Walter

> 
> Application Trace | Framework Trace | Full Trace
> Request
> 
> Parameters:
> 
> {"utf8"=>"✓",
> "_method"=>"patch",
> "authenticity_token"=>"moURPhSZblDM6t70lg59TWUuDS8k6K/ygf8zMY1UBjE=",
> "address"=>{"zipcode"=>"88025-100",
> "street"=>"Rua Allan Kardec 35",
> "neighborhood"=>"Agronômica",
> "city"=>"Florianópolis",
> "state"=>"SC",
> "is_primary"=>"true"},
> "commit"=>"Atualizar",
> "id"=>"2"}
> Toggle session dump
> Toggle env dump
> Response
> 
> Headers:
> 
> None
> 
> -- 
> Posted via http://www.ruby-forum.com/.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/rubyonrails-talk/9abe5d35053dc8b0673039eaff02f4c1%40ruby-forum.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/C29B8A71-E86B-487A-8175-5C50313C0FA4%40wdstudio.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to