0

ユーザーが毎分メールを受け取るアプリケーションを作成していますが、メールが届かないという問題があります。command および schedule.rb ファイルが生成され、以下に提供されます。

ユーザーコントローラー

class UsersController < ApplicationController
# GET /users
# GET /users.json


def index 
@users = User.all

respond_to do |format|
  format.html # index.html.erb
  format.json { render json: @users }
end
end

# GET /users/1
# GET /users/1.json
def show
@user = User.find(params[:id])

respond_to do |format|
  format.html # show.html.erb
  format.json { render json: @user }
end
end

# GET /users/new
# GET /users/new.json
def new
@user = User.new

respond_to do |format|
  format.html # new.html.erb
  format.json { render json: @user }
end
end

# GET /users/1/edit
def edit
@user = User.find(params[:id])
end

# POST /users
# POST /users.json
def create
@user = User.new(params[:user])

respond_to do |format|
  if @user.save


    format.html { redirect_to(@user, :notice => 'User was successfully created.') }
    format.json { render :json => @user, :status => :created, :location => @user }
  else
    format.html { render :action => "new" }
    format.json { render :json => @user.errors, :status => :unprocessable_entity }
  end
end
end


# PUT /users/1
# PUT /users/1.json
def update
@user = User.find(params[:id])

respond_to do |format|

    format.html { redirect_to @user, notice: 'User was successfully updated.' }
    format.json { head :no_content }
  else
    format.html { render action: "edit" }
    format.json { render json: @user.errors, status: :unprocessable_entity }
  end
end
end

# DELETE /users/1
# DELETE /users/1.json
def destroy
@user = User.find(params[:id])
respond_to do |format|
  if @user.destroy
    # Tell the UserMailer to send a welcome Email after save


    format.html { redirect_to(@user, :notice => 'User was successfully created.') }
    format.json { render :json => @user, :status => :created, :location => @user }
  else
    format.html { render :action => "new" }
    format.json { render :json => @user.errors, :status => :unprocessable_entity }
  end
end
end

end

スケジュール.rb

every 1.minute do
runner "User.send_email_to_user"
end

そして、これはモデル user.rb です

class User < ActiveRecord::Base
attr_accessible :email, :login, :name, :Notification

def self.send_email_to_user
UserMailer.welcome_email(@user).deliver
end
end

これが User_mailer.rb です

class UserMailer < ActionMailer::Base
default from: "anasjmh@gmail.com"

def welcome_email(user)
@user = user
@url  = "http://gmail.com/login"
mail(:to => user.email, :subject => "Welcome to My Awesome Site")
end
end

誰が問題がどこにあるのか教えてもらえますか????? どんな助けでも大歓迎です...

前もって感謝します。

4

1 に答える 1

0

UserMailer 自体は動作しますか? メールメソッドの後に配信メソッドを呼び出す必要があることを念頭に置いています。メールメソッドはメッセージを準備するだけです:

mail(:to => user.email, :subject => "Welcome to My Awesome Site").deliver

また、action_mailer を適切に構成しましたか? たとえば、development.rb でエラーを表示するように設定できます。

config.action_mailer.default_url_options = { :host => 'yourdomain.com' }
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true
于 2012-11-21T08:10:38.717 に答える