堆栈级别太深ActionMailer

问题描述:

真正的堆栈溢出...这是我第一次从应用程序发送电子邮件。堆栈级别太深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) 

谷歌已经失败了我,所以希望这里有人有线索。

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

您是否在项目中使用delayed_job?

几天前我有一个类似的问题与delayed_job。 This帮我回来了。

+0

不......我改变了一些东西。 'request'是某种关键字。我改变了它,它的工作=) – Dudo 2013-05-07 20:13:11