2017-04-03 49 views
0

我试图在发送邮件后更新名为lastemailed的属性,但无法使其工作。我试过把它放在我的控制器和邮件模型中,但它没有奏效。这是我正在使用的代码。谢谢你的帮助!邮寄邮件后更新属性

邮寄/ page_mailer.rb

class PageMailer < ActionMailer::Base 

add_template_helper(PagesHelper) 

default from: "[email protected]" 

def reminder_send(user) 
    @user = user 
    mail(to: "#{@user.email}", subject: "Your subject") 
end 
end 

pages_controller.rb

def send_reminder_mail 
@user = User.find(params[:id]) 

PageMailer.reminder_send(@user).deliver 
flash[:notice] = "Reminder sent!" 
redirect_to '/employees' 
end 

认为调用邮件

<%= link_to "Email", :controller => "pages", :action => "send_reminder_mail", :id => u.id %> 

的邮件工作正常,我只是不能得到属性更新。谢谢!

回答

0

:lastemailed是一个日期数据类型,我试图用Time.now保存它()。

Time.now()是datetime数据类型,所以需要格式化为DateTime.now.to_date以便正确更新。

0

在页面控制器,您发送的电子邮件和重定向之前后,添加:

@user.update_attribute(:lastemailed, "New Value")