EmailBulk.where(id: params[:email_bulk][:id]).update_all(html_content: params[:email_bulk][:html_content], subject: params[:email_bulk][:subject])
语句不会更新email_bulk.updated_at列?为什么?我也应该像这样发送时间
EmailBulk.where(id: params[:email_bulk][:id]).update_all(html_content: params[:email_bulk][:html_content], subject: params[:email_bulk][:subject], updated_at: Datetime.now.utc )
如果是这样的话?如何以活动记录创建的格式创建DateTime:2015-01-06 06:44:55。我不喜欢硬编码时间和格式
答案 0 :(得分:0)
全部更新,此方法构造单个SQL UPDATE语句并将其直接发送到数据库。它不会实例化所涉及的模型,也不会触发Active Record回调或验证。传递给update_all
的值不会通过ActiveRecord的类型转换行为。它应该只接收可以按原样传递给SQL数据库的值。
因此,它不会触发回调或验证 - 并且时间戳更新是在回调中进行的.update_at是回调