如何在更新属性后发布或呈现消息以反映更改? (我在这个任务上找不到任何东西)
例如:用户更新故障单状态后,评论部分会发布一条消息,报告“故障单已关闭”。 (没有闪光信息,但是永久信息)。
tickets_controller.rb
def open
@ticket = Ticket.find(params[:ticket_id])
@ticket.update_attributes(:ticket_status, "closed")
redirect_to ticket_path
end
答案 0 :(得分:0)
您可以将此会话用于此项目。
def open
@ticket = Ticket.find(params[:ticket_id])
@ticket.update_attributes(:ticket_status, "closed")
session[:close_message] = "Ticket has been closed"
redirect_to ticket_path
end
在该视频之后,它在视图中
<%= session[:close_message] %>
但请确保在显示消息以释放内存后清除session[:close_message] = nil
之类的会话
答案 1 :(得分:0)
如果要保留邮件,则需要将邮件存储在数据库中。比如说 - 有一张票(票证模型),有人关闭它。后端的属性将更新故障单模型的属性状态。
def update
tkt = Ticket.where(id: 1)
tkt.update_attributes(status: 1)
end
如果这是一个ajax调用,你可以发送一个响应数据,其中包含“Ticket closed”之类的消息,并在ajax调用的成功回调中的html页面上相应地显示它。如果是服务器调用,请刷新页面并使用Ticket模型中的status属性创建消息。
您可以使用某些枚举,例如
{0 => "Ticket Open", 1 => "Ticket closed", 2 => "Ticket in progress" }
如果消息不是通用的,并且每次需要更多自定义时,最好在相关模型中创建并将整个消息保存为属性,而不需要枚举。