2010-08-06 21 views
0

我有一個登錄後,保存新用戶應該發送電子郵件。這在當地工作正常,但在生產服務器上我不斷收到這個錯誤在我的日誌文件:ArgumentError與ActionMailer

ArgumentError (wrong number of arguments (8 for 6)): 
    app/models/user_observer.rb:3:in `after_save' 
    /usr/lib64/ruby/1.8/observer.rb:185:in `notify_observers' 
    /usr/lib64/ruby/1.8/observer.rb:184:in `each' 
    /usr/lib64/ruby/1.8/observer.rb:184:in `notify_observers' 
    app/controllers/users_controller.rb:13:in `create' 

我user_observer:

class UserObserver < ActiveRecord::Observer 
    def after_save(user) 
    UserMailer.deliver_welcome_email(user) 
    end 
end 

我user_mailer文件:

class UserMailer < ActionMailer::Base 
    def welcome_email(user) 
    recipients user.email 
    from "MilitaryMoveIt <[email protected]>" 
    subject "Welcome to My Awesome Site" 
    sent_on Time.now 
    body :user => user 
    end 
end 

我user_controller:

def create 
    @user = User.new(params[:user]) 
    @user_session = UserSession.new 
    @user.level = 'Trial' 
    if @user.save 
     flash[:notice] = "Account registered!" 
     redirect_to account_url 
    else 
     render :layout => 'user_sessions_new', :template => 'user_sessions/new' 
    end 
    end 

我會很感激任何能夠照亮我在這裏失去的東西的人。

編輯:這是正在傳遞什麼:

Processing UsersController#create (for 184.40.5.17 at 2010-08-06 12:38:23) [POST] 
    Parameters: {"user"=>{"name"=>"lauren", "password"=>"[FILTERED]", "login"=>"looloobs", 
"email"=>"[email protected]"}, "x"=>"82", "y"=>"14", "action"=>"create", 
"authenticity_token"=>"qvQLB9w/pJOWOFzKy6HadbxRieejhQ8Hmry36EAIIwc=", "controller"=>"users"} 
Sent mail to [email protected] 

我不知道X和Y參數..這就是問題所在,試圖通過這些?

回答

0

如果它在本地工作,但不在生產服務器上工作,您是否具有相同的環境?相同的Ruby和Rails版本?

這兩種環境有什麼不同?

+0

這兩個環境都運行相同版本的ruby和rails。謝謝 – looloobs 2010-08-07 13:44:59