2014-12-02 97 views
1

我知道這裏有很多系統堆棧錯誤問題......但每個問題和答案都是唯一的。並沒有找到一個離我很近的地方。SystemStackError - 堆棧級別太深

我真的不明白爲什麼我得到這個錯誤...

我不需要一個觀點,因爲形式正在通AJAX發送。我驗證了我的編碼工作是用軌道控制檯插入新記錄。

我驗證了路線:

request_user POST /users/:id/request(.:format) users#request 

我得到一個系統堆棧錯誤,當我提交此表:

SystemStackError at /users/11940/request 
======================================== 

> stack level too deep 

actionpack (3.2.3) lib/action_dispatch/middleware/reloader.rb, line 70 
---------------------------------------------------------------------- 

``` ruby 
    65   response = @app.call(env) 
    66   response[2] = ActionDispatch::BodyProxy.new(response[2]) { cleanup! } 
    67   response 
    68  rescue Exception 
    69   cleanup! 
> 70   raise 
    71  end 
    72 
    73  def prepare! #:nodoc: 
    74   run_callbacks :prepare if validated? 
    75  end 
``` 

App backtrace 
------------- 



Full backtrace 
-------------- 

- actionpack (3.2.3) lib/action_dispatch/middleware/reloader.rb:70:in `' 

的JavaScript通過AJAX

 $("#user_feature_request").dialog({ 
     autoOpen: false, 
     width: 500, 
     buttons: { 
      "Submit": function() { 
       var id = $("#request").val(); 
       $.ajax({ 
        url: "https://stackoverflow.com/users/" + id + "/request", 
        data: $("#request_form").serialize(), 
        type: "POST", 
        success: function (data) { 
         alert(data); 
         $("#user_feature_request").dialog("close"); 
        }, 
        error: function (jqXHR, textStatus, errorThrown) { 
         alert('error: ' + textStatus + ': ' + errorThrown); 
        } 
       }); 
       return false; 
      }, 
      "Cancel": function() { 
       $(this).dialog("close"); 
      } 
     } 
    }); 
    $("#request").on("click", function() { 
     $("#user_feature_request").dialog("open"); 
    }); 

控制器

提交
def request 
    user = params[:user] 
    r = Request.new 
    r.user_id = params[:id] 
    r.feature = user[:request] 
    r.comment = user[:comment] 
    r.repair = user[:issue] 
    r.save 
    end 

形式:

<div class="main"> 
    <div id="user_feature_request" title="Comment/Requested Features"> 
    <form id="request_form"> 
     <input id="user_id" name="user[id]" type="hidden" value="<%= current_user.id %>"></input> 
     Requested Feature: 
     <textarea cols="450" id="user_request" name="user[request]" rows="5"></textarea> 
     <br/> 
     Technical Issue: 
     <textarea cols="450" id="user_issue" name="user[issue]" rows="5"></textarea> 
     <br/> 
     Comments: 
     <textarea cols="450" id="user_comment" name="user[comment]" rows="5"></textarea> 
    </form> 
    </div> 
</div> 
+0

不受約束的遞歸會導致堆棧溢出。 – 2014-12-02 17:25:35

回答

2

這是由於您的型號名稱和/或控制器動作名稱(Requestrequest)。這些是Rails中的reserved words

相關問題