- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的数据模型包含可能包含附件的 session 。我的 update_meeting API 具有以下几行(以及其他内容):
attachment = Attachment.new(image: params[:attachment], user: current_user)
begin
attachment.save!
@meeting.attachments << attachment
NotificationManager.add_attachment_to_meeting(current_user, @meeting, attachment)
rescue
puts "Error occured trying to upload attachment: #{attachment.inspect}, #{attachment.errors.inspect}"
end
我们遇到了一个特殊情况,即创建了附件但未与数据库中的 session 相关联。我开始深入研究日志以了解发生了什么。我看不到任何错误、异常、回滚之类的东西。特别是这 3 行:
(0.7ms) BEGIN
SQL (1.0ms) UPDATE "attachments" SET "updated_at" = $1, "meeting_id" = $2 WHERE "attachments"."id" = $3 [["updated_at", 2018-07-06 13:57:52 UTC], ["meeting_id", 434], ["id", 51]]
(1.3ms) COMMIT
我的假设(在看到这个之前)是,如果有一个 UPDATE 语句后跟一个 COMMIT 而没有 ROLLBACK 或错误消息或日志中的任何内容,它应该已经成功。但显然不是。
有没有人指出这可能出错的地方?我完全不知道从哪里开始寻找。不确定如何重现,不确定要添加哪些日志消息以使其在下次发生时更容易,不确定...
我正在使用在 EC2 上运行的 Rails 5 和 PostgreSQL。
最佳答案
让 session 创建附件
begin
attachment = @meeting.attachments.create(image: params[:attachment], user: current_user)
NotificationManager.add_attachment_to_meeting(current_user, @meeting, attachment)
rescue
puts "Error occured trying to upload attachment: #{attachment.inspect}, #{attachment.errors.inspect}"
end
session 应该像附件的“聚合器”。附件不应该存在,或者至少,没有意义,因为它们在没有 session 的情况下存在,所以它们应该通过 session 创建
关于ruby-on-rails - Rails ActiveRecord shovel operator (<<) Update doesn't succeed without exception in the log 日志中没有异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51299431/
我有两台运行带有 rabbitmq 消息队列的 arch linux 的计算机,我想使用铲子将消息从第一台计算机上的队列移动到第二台计算机上的队列。不幸的是,我似乎无法创建铲子,甚至无法验证是否正在读
RabbitMQ 启动正常,但 shovel 插件状态列为“正在启动”。 我正在使用以下rabbitmq.config: 每个代理都在单独的 AWS 实例上运行。远程服务器是windows 2008
安装 Shovel 插件后,我正在尝试在 RabbitMQ 3.2.3 上配置动态铲。但是,当我运行以下命令时: rabbitmqctl set_parameter shovel test-shove
所以我的应用程序中有代码附加到与“<<”运算符的 has_many 关系,如下所示: class BlogPost < ActiveRecord::Base has_many :comm
使用“rabbitmqctl eval 'rabbit_shovel_status:status().'”我可以在我的 rabbitmq 服务器中获取铲子的状态。 我激活了模块“rabbitmq_sh
我的数据模型包含可能包含附件的 session 。我的 update_meeting API 具有以下几行(以及其他内容): attachment = Attachment.new(image: pa
今天我们遇到了一个有趣的问题。似乎如果您使用 shovel 运算符连接 ActiveRecord 模型上的字符串属性,它不会使模型变脏。例如: e = Employee.first e.name t
我是一名优秀的程序员,十分优秀!