By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
449,017 Members | 1,004 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 449,017 IT Pros & Developers. It's quick & easy.

problem with form getting error stack level to deep

P: 2
dears since I'm new to ruby I try to create a form within ruby on rails.
this is my controller
Expand|Select|Wrap|Line Numbers
  1. require "player"
  2. class SpelersController < ApplicationController
  3.  
  4.   def index
  5.     @speler = Speler.find(:all, :order => 'RAND()')
  6.   end
  7.  
  8.   def all_sorted
  9.   @heren=Speler.heren
  10.   @dames=Speler.dames
  11.   end
  12.  
  13.   def score_sn
  14.   @senior=Speler.sr 
  15.   end
  16.  
  17.  
  18.   def score_jr
  19.     @junior=Speler.junior
  20.   end
  21.  
  22.   def score_p
  23.     @pupil =Speler.pupil
  24.   end
  25.  
  26.  def score_top
  27.    @man =Speler.topm
  28.   @vrouw=Speler.topv
  29.   end
  30. def list
  31. if params[:id].nil?
  32.   @spelers = Speler.find(:all)
  33. else
  34.   @spelers = Speler.find(:all,:conditions =>["id=?",params[:id]])
  35.   params[:id] = nil
  36. end  
  37. end
  38. def show
  39.   @speler=Speler.find(params[:id])
  40. end
  41. def new
  42.     @Speler = Speler.new
  43.  
  44.     respond_to do |format|
  45.       format.html # new.html.erb
  46.       format.xml  { render :xml => @Speler }
  47.     end
  48.   end
  49. def create
  50.     @speler = Speler.new(params[:speler])
  51.  
  52.     respond_to do |format|
  53.       if @speler.save
  54.         flash[:notice] = 'Speler is met succes aangemaakt.'
  55.         format.html { redirect_to(@speler) }
  56.         format.xml  { render :xml => @speler, :status => :created, :location => @speler }
  57.       else
  58.         format.html { render :action => "new" }
  59.         format.xml  { render :xml => @speler.errors, :status => :unprocessable_entity }
  60.       end
  61.     end
  62.   end
  63.   def edit
  64.    @speler = Speler.find(params[:id]) 
  65.   end
  66.   def update
  67.     @speler =Speler.find(params[:id])
  68.     @speler.date = Time.now
  69.     if @speler.update_attributes(params[:speler])
  70.       flash[:notice] = 'de gegevens met met succes aangepast.'
  71.       redirect_to :action => 'show', :id => @speler
  72.     else
  73.       render :action => 'edit'
  74.     end
  75.     end
  76.  def destroy
  77.    Speler.find(params[:id]).destroy
  78.    redirect_to :action => 'list'
  79.  end
  80.   end
  81.  
  82.  
this is my model
Expand|Select|Wrap|Line Numbers
  1. require "C:/paul/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record"
  2. class Speler < ActiveRecord::Base
  3.  @@ploegen={ 'P' => 'pupil', 'J' => 'junior', 'SR' => 'senior'}
  4.  
  5. #  def initialize(naam, achternaam, geslacht, score, ploeg='SR')
  6. #    @naam = naam
  7. #    @achternaam = achternaam
  8. #    @geslacht = geslacht if geslacht == 'V' || geslacht == 'M'
  9. #    if @@ploegen.has_key?(ploeg)
  10. #      @ploeg = ploeg
  11. #    else
  12. #      @ploeg = 'SR'
  13. #    end
  14. #    @score = score
  15. #  end
  16.   ActiveRecord::Base.establish_connection(
  17.   :adapter  => "mysql",
  18.   :host     => "localhost",
  19.   :username => "root",
  20.   :password => "",
  21.   :database => "vspw"
  22.   )
  23. class CreateSpelers < ActiveRecord::Migration
  24.     def self.up
  25.       create_table :spelers do |t|
  26.         t.column :naam,:string
  27.         t.column :achternaam,:string
  28.         t.column :score,:integer
  29.         t.column :ploeg,:string
  30.         t.column :geslacht,:string
  31.  
  32.       end
  33.       # TODO: Hiervoor heb ik een speler.make (of iets dergelijks) aangemaakt.  Deze zorgt ervoor dat 
  34.       # oa de ploeg correct wordt opgevuld
  35.       Speler.create  :naam => "jan",:achternaam => "Janssens",:score =>"5",:ploeg =>"SR",:geslacht =>"M"   
  36.       Speler.create  :naam => "Leen",:achternaam => "Leniksen",:score =>"7",:ploeg =>"",:geslacht =>"V"   
  37.       Speler.create  :naam => "Piet",:achternaam => "Pietersen",:score =>"3",:ploeg =>"",:geslacht =>"M"   
  38.       Speler.create  :naam => "Els",:achternaam => "Elsenbocht",:score =>"1",:ploeg =>"J",:geslacht =>"V"   
  39.       Speler.create  :naam => "Karel",:achternaam => "Carlsen",:score =>"8",:ploeg =>"",:geslacht =>"M"   
  40.       Speler.create  :naam => "Mieke",:achternaam => "Mieters",:score =>"9",:ploeg =>"P",:geslacht =>"V"   
  41.       Speler.create  :naam => "John",:achternaam => "Johanssen",:score =>"5",:ploeg =>"J",:geslacht =>"M"   
  42.       Speler.create  :naam => "Veerle",:achternaam => "Veldsen",:score =>"3",:ploeg =>"",:geslacht =>"V"   
  43.     end
  44.     def self.down
  45.       drop_table :Spelers
  46.     end
  47.     #CreateSpelers.down
  48.     #CreateSpelers.up
  49.   end
  50.   def self.iedereen()
  51.   Speler.find(:all )
  52. end
  53.  
  54.   def to_s
  55. sprintf(" #{naam} #{achternaam} - #{score}  ")
  56. end
  57. def self.heren
  58.   Speler.find(:all, :conditions =>{:geslacht =>"M"})
  59. end
  60. def self.dames
  61.   Speler.find(:all, :conditions =>{:geslacht =>"V"})
  62. end
  63. def ploeg
  64.   @@ploegen = :ploeg
  65. end
  66. def self.sr
  67.  @senior = Speler.find_by_sql("select naam,achternaam, score,ploeg from spelers WHERE ploeg = 'SR' OR ploeg =''")
  68. end
  69.  def self.pupil
  70.   Speler.find(:all, :conditions =>{:ploeg =>"P"})
  71. end
  72. def self.junior
  73.   Speler.find(:all, :conditions =>{:ploeg =>"J"})
  74. end
  75. def self.topm
  76.   @man = Speler.find_by_sql("select naam,achternaam, score ,ploeg from spelers where geslacht ='M' ORDER BY score DESC").first(3)
  77. end
  78. def self.topv
  79.   @vrouw = Speler.find_by_sql("select naam,achternaam, score ,ploeg from spelers where geslacht ='V' ORDER BY score DESC").first(3)
  80. end
  81. #select naam,ploeg from Spelers where ploeg ="SR" OR ploeg =  "";
  82. #puts "Alle senioren :"
  83. puts Speler.topm
  84.  
  85.  
  86. end
  87.  
en this is the error message
SystemStackError in SpelersController#new

stack level too deep

RAILS_ROOT: D:/Documenten/NetBeansProjects/Speler
Application Trace | Framework Trace | Full Trace

C:/paul/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/locking/optimistic.rb:55:in `attributes_from_column_definition_without_lock'
C:/paul/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/locking/optimistic.rb:55:in `attributes_from_column_definition'
C:/paul/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/base.rb:1922:in `initialize'
app/controllers/spelers_controller.rb:42:in `new'
app/controllers/spelers_controller.rb:42:in `new'

C:/paul/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/locking/optimistic.rb:55:in `attributes_from_column_definition_without_lock'
C:/paul/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/locking/optimistic.rb:55:in `attributes_from_column_definition'
C:/paul/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/base.rb:1922:in `initialize'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:1158:in `send'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:1158:in `perform_action_without_filters'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:697:in `call_filters'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:689:in `perform_action_without_benchmark'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
C:/paul/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/rescue.rb:199:in `perform_action_without_caching'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/caching.rb:678:in `perform_action'
C:/paul/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
C:/paul/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/query_cache.rb:8:in `cache'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/caching.rb:677:in `perform_action'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:524:in `send'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:524:in `process_without_filters'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:685:in `process_without_session_management_support'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/session_management.rb:123:in `process'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:388:in `process'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:171:in `handle_request'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:115:in `dispatch'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:126:in `dispatch_cgi'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:9:in `dispatch'
C:/paul/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:112:in `handle_dispatch'
C:/paul/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:78:in `service'
C:/paul/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
C:/paul/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
C:/paul/ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
C:/paul/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start'
C:/paul/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
C:/paul/ruby/lib/ruby/1.8/webrick/server.rb:95:in `start'
C:/paul/ruby/lib/ruby/1.8/webrick/server.rb:92:in `each'
C:/paul/ruby/lib/ruby/1.8/webrick/server.rb:92:in `start'
C:/paul/ruby/lib/ruby/1.8/webrick/server.rb:23:in `start'
C:/paul/ruby/lib/ruby/1.8/webrick/server.rb:82:in `start'
C:/paul/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:62:in `dispatch'
C:/paul/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/commands/servers/webrick.rb:66
C:/paul/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
C:/paul/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
C:/paul/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require'
C:/paul/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:342:in `new_constants_in'
C:/paul/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require'
C:/paul/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/commands/server.rb:39
C:/paul/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
C:/paul/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
script/server:3

C:/paul/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/locking/optimistic.rb:55:in `attributes_from_column_definition_without_lock'
C:/paul/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/locking/optimistic.rb:55:in `attributes_from_column_definition'
C:/paul/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/base.rb:1922:in `initialize'
app/controllers/spelers_controller.rb:42:in `new'
app/controllers/spelers_controller.rb:42:in `new'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:1158:in `send'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:1158:in `perform_action_without_filters'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:697:in `call_filters'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:689:in `perform_action_without_benchmark'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
C:/paul/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/rescue.rb:199:in `perform_action_without_caching'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/caching.rb:678:in `perform_action'
C:/paul/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
C:/paul/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/query_cache.rb:8:in `cache'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/caching.rb:677:in `perform_action'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:524:in `send'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:524:in `process_without_filters'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:685:in `process_without_session_management_support'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/session_management.rb:123:in `process'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:388:in `process'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:171:in `handle_request'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:115:in `dispatch'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:126:in `dispatch_cgi'
C:/paul/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:9:in `dispatch'
C:/paul/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:112:in `handle_dispatch'
C:/paul/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:78:in `service'
C:/paul/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
C:/paul/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
C:/paul/ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
C:/paul/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start'
C:/paul/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
C:/paul/ruby/lib/ruby/1.8/webrick/server.rb:95:in `start'
C:/paul/ruby/lib/ruby/1.8/webrick/server.rb:92:in `each'
C:/paul/ruby/lib/ruby/1.8/webrick/server.rb:92:in `start'
C:/paul/ruby/lib/ruby/1.8/webrick/server.rb:23:in `start'
C:/paul/ruby/lib/ruby/1.8/webrick/server.rb:82:in `start'
C:/paul/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:62:in `dispatch'
C:/paul/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/commands/servers/webrick.rb:66
C:/paul/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
C:/paul/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
C:/paul/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require'
C:/paul/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:342:in `new_constants_in'
C:/paul/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require'
C:/paul/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/commands/server.rb:39
C:/paul/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
C:/paul/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
script/server:3

Request

Parameters:

None

Show session dump

---
flash: !map:ActionController::Flash::FlashHash {}


Response

Headers:

{"cookie"=>[],
"Cache-Control"=>"no-cache"}


how do I solve this problem I know it's situated arround the def new part but I'm not able to solve it
thanks for your help
Jan 13 '08 #1
Share this Question
Share on Google+
3 Replies


P: 2
an addition to this problem is whenever I put the block def new in comment I do get to see my form however nothing is transfered to my db

thanks again for your help

Paul
Jan 13 '08 #2

Expert 100+
P: 303
I am not familiar with respond_to or your setup, but does @Speler maybe need a .to_xml in the 'new' method?

Expand|Select|Wrap|Line Numbers
  1. def new
  2.     @Speler = Speler.new
  3.  
  4.     respond_to do |format|
  5.       format.html # new.html.erb
  6.       format.xml  { render :xml => @Speler.to_xml }
  7.     end
  8. end
  9.  
Jan 15 '08 #3

P: 2
The information you can put up are very informative. I am get a lot of information. Thanks
Jan 22 '08 #4

Post your reply

Sign in to post your reply or Sign up for a free account.