邮寄电子邮件后更新属性
Update Attribute After Mailing Email
我试图在发送电子邮件后更新我的用户模型中名为 :lastemailed 的属性,但无法使其正常工作。我试过将它放入我的控制器和邮件程序模型中,但没有成功。这是我正在使用的代码。感谢您的帮助!
mailers/page_mailer.rb
class PageMailer < ActionMailer::Base
add_template_helper(PagesHelper)
default from: "mail@example.com"
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 %>
邮件程序工作正常,我只是无法获取要更新的属性。谢谢!
在您的页面控制器中,在您发送电子邮件之后和重定向之前,添加:
@user.update_attribute(:lastemailed, "New Value")
:lastemailed
是日期数据类型,我试图使用 Time.now().
保存它
Time.now()
是日期时间数据类型,因此需要将其格式化为 DateTime.now.to_date
才能正确更新。
我试图在发送电子邮件后更新我的用户模型中名为 :lastemailed 的属性,但无法使其正常工作。我试过将它放入我的控制器和邮件程序模型中,但没有成功。这是我正在使用的代码。感谢您的帮助!
mailers/page_mailer.rb
class PageMailer < ActionMailer::Base
add_template_helper(PagesHelper)
default from: "mail@example.com"
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 %>
邮件程序工作正常,我只是无法获取要更新的属性。谢谢!
在您的页面控制器中,在您发送电子邮件之后和重定向之前,添加:
@user.update_attribute(:lastemailed, "New Value")
:lastemailed
是日期数据类型,我试图使用 Time.now().
Time.now()
是日期时间数据类型,因此需要将其格式化为 DateTime.now.to_date
才能正确更新。