Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 4如何将多个电子邮件通知转换为批处理电子邮件_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails Rails 4如何将多个电子邮件通知转换为批处理电子邮件

Ruby on rails Rails 4如何将多个电子邮件通知转换为批处理电子邮件,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我目前有一个应用程序,用户可以选择接收电子邮件通知,如果有一个属于他的页面更新。我已经让它工作得很好了,除了,如果有多个页面有挂起的更新(我在更新时将状态更改为挂起),那么用户最终可能会收到几封电子邮件——每页一封属于他/她 最初我花了一段时间才开始工作,但现在我不知道如何在任务运行时(目前每天一次)在一封批处理电子邮件中发送属于用户的所有更新 任务如下: task :notify_user => :environment do ProductPageUpdate.where(statu

我目前有一个应用程序,用户可以选择接收电子邮件通知,如果有一个属于他的页面更新。我已经让它工作得很好了,除了,如果有多个页面有挂起的更新(我在更新时将状态更改为挂起),那么用户最终可能会收到几封电子邮件——每页一封属于他/她

最初我花了一段时间才开始工作,但现在我不知道如何在任务运行时(目前每天一次)在一封批处理电子邮件中发送属于用户的所有更新

任务如下:

task :notify_user => :environment do
 ProductPageUpdate.where(status: 'pending').each do |page_update|
  PageUpdate.user_notification(page_update).deliver!
  page_update.update_attribute(:status, 'notified')
 end
end
这会发送my page_update/user_notification.html.erb电子邮件,其中只包含一个指向相应页面的链接:

  <h2>Your page has been updated!</h2>
  <p><%= link_to @page_update.page.name, page_url(@page_update.page) %></p>
您的页面已更新!

关于如何在一封电子邮件中而不是一次发送多封电子邮件中发送属于用户的所有排队等待的更新,您有什么简单的想法吗?

任务:

   task :notify_user => :environment do
      page_updates = ProductPageUpdate.where(status: 'pending')
      PageUpdate.user_notification(page_updates).deliver!
      page_updates.each do |page_update|
        page_update.update_attribute(:status, 'notified')
      end
    end
在邮件模板中:

 <% @page_updates.each do |page_update|%>
 <p><%= link_to page_update.page.name, page_url(@page_update.page) %></p>
 <% end %>


我知道这是一种类似的东西——只是移动了一些东西而已。谢谢,我会用的!!