我試圖發送電子郵件,如果發佈=審查但我收到語法錯誤。代碼應該如何改變?嘗試添加UserMailer.review_email(@user).deliver
導致此錯誤嘗試將UserMailer添加到我的控制器時出現語法錯誤
這是我得到
SyntaxError in PostsController#create
syntax error, unexpected tIVAR, expecting keyword_do or '{' or '('
mail(:to => [email protected], :subject => "Review")
syntax error, unexpected tASSOC, expecting tCOLON2 or '[' or '.'
mail(:to => [email protected], :subject => "Review")
syntax error, unexpected ')', expecting keyword_end
在這裏的錯誤就是我正在嘗試放置UserMailer代碼
def create
@post = current_user.posts.build(params[:post])
if @post.save
if @post.review
UserMailer.review_email(@user).deliver
flash[:notice] = "Post will be reviewed"
redirect_to root_path
else
flash[:success] = "Posted"
redirect_to root_path
end
else
@feed_items = []
render 'static_pages/home'
end
end
用戶郵件模式控制器
class UserMailer < ActionMailer::Base
default from: "[email protected]"
def review_email(user)
@user = user
mail(:to => [email protected], :subject => "Post needs review")
end
end
錯誤很可能在您的郵件程序中,我們無法看到。 – 2013-04-09 19:37:36
只是張貼用戶郵件模型..讓我知道,如果你看到任何關閉 – user2159586 2013-04-09 19:44:54
電子郵件地址是字符串。還要注意,除非你有一個過濾器,否則你會爲你的'@ user'值傳遞'nil'。 – 2013-04-09 19:47:43