Saturday, March 26, 2011

[Rails] stack level too deep

Stack Level too deep means there is some function recursing, probably forever. Looking over your code real quick I've seen the :has_many organizations which probably leads to the recursion. When trying to get the parents, Rails will get the Parents of the Parents and so on since it is a property of the Organization so I guess it is not lazy evaluated. Maybe that helps...


On 2011-03-26 22:25:00 +0100, rubyonrails-talk@googlegroups.com Wrote:

>Hello...
>
>I'm having a stack level too deep error using Ruby 1.8.7 with Rails
>3.0.4 and with the rails console I performed the following commands.
>
>leo%>rails console
>Loading development environment (Rails 3.0.4)
>ruby-1.8.7-head > leo = Organization.find(1)
>
>SystemStackError: stack level too deep
>from /app/models/organization.rb:105:in `parents'
>
>
>Here is the object that is having issues..
>
>
>class Organization < ActiveRecord::Base
>
> has_many :group_organizations, :dependent =>
>:delete_all
> has_many :groups, :through => :group_organizations
>
> has_many :orders
> has_many :product_contracts
>
> has_many :people
> accepts_nested_attributes_for :people
>
> has_many :addresses
> accepts_nested_attributes_for :addresses
>
> has_many :organizations
> has_many :departments
> has_many :organization_credits
>
> has_many :documents
>
> validates_presence_of :name
>
>
>
> def self.parents
> #@organizations = self.find :all, :conditions => ['is_company = ?
>',true]
> @organizations = Organization.where("is_company = ?",true)
> #@organization_parents = []
> select_choice = I18n.t("select") + " "+
>I18n.t("segments.description")
> @organization_parents = [select_choice]
> for organization in @organizations
> @organization_parents << [organization.name, organization.id]
> end
> return @organization_parents
> end
>
>--
>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 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 this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>

--
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 this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate