2013-05-07 105 views
0

真正的堆棧溢出...這是我第一次從應用程序發送電子郵件。堆棧級別太深ActionMailer

從形式:

<%= form_tag request_path do %> 
    <%= text_field_tag :email, nil, placeholder: 'Find...', class: 'ui-corner-all' %> 
    <%= submit_tag "Send request", class: 'button' %> 
<% end %> 

控制器:

def request 
    user_email = params[:email] 
    UserMailer.request(user_email).deliver 
    #flash[:notice] = "We'll let #{@user[:name]} know!" 
end 

通過郵件:

def request(email) 
    @url = "http://mysite.herokuapp.com/" 

    mail to:   email, 
     subject:  "#{first_name(current_user)} would like to say hi!" 
end 

我在控制檯中看到這一點:

SystemStackError (stack level too deep): 
    actionpack (3.2.12) lib/action_dispatch/middleware/reloader.rb:70 

    Rendered C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/actionpack-3.2.12/lib/action_dispatch/middleware/templates/rescues/_trace.erb (0.0ms) 
    Rendered C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/actionpack-3.2.12/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (0.0ms) 
    Rendered C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/actionpack-3.2.12/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (31.2ms) 

谷歌已經失敗了我,所以希望這裏有人有線索。

回答

0

request是Rails中的關鍵字。這是一個不錯的選擇。我把它在所有地方改爲request_pal,一切都很好。

+0

你能澄清一點嗎?我真的不明白你想要解釋什麼! – 2013-05-08 19:11:51

+0

我的不好。正在回答我自己的問題。 'request'是某種關鍵字。使用它是一個'不'。我將該單詞的所有實例都改爲了'request_pal',並且我能夠殺死無限循環。 – Dudo 2013-05-08 19:24:23

+0

你應該在你的答案中編輯這些解釋!爲了幫助未來的用戶看到這個問題! – 2013-05-08 19:32:44

0

您是否在項目中使用delayed_job?

幾天前我有一個類似的問題與delayed_job。 This幫我回來了。

+0

不......我改變了一些東西。 'request'是某種關鍵字。我改變了它,它的工作=) – Dudo 2013-05-07 20:13:11