2

我想知道使用flash.now和简单使用实例变量(例如@error_message)之间有什么区别?

在相关说明中,当您有多个服务器运行时如何flash工作,因此后续请求有可能由不同的服务器执行?

4

1 回答 1

1

我想知道使用 flash.now 和仅使用实例变量(例如 @error_message)有什么区别?

实际上没有太大区别,因为请求完成后两个值都消失了。我认为这更方便,因此您的视图代码可以检查一个地方的错误消息,而不必同时检查 theflash和实例变量。

在相关说明中,当您有多个服务器运行时,闪存如何工作,因此后续请求有可能由不同的服务器执行?

会话中的flash生命,通常持久化到数据库中。因此,如果您有多个 Rails 应用程序实例正在运行并且它们使用同一个数据库,那么它们就可以共享flash对象的访问权限。因此,如果服务器 A 写入flash对象而服务器 B 在下一个请求时将其读出,则根本不是问题。

于 2013-05-08T13:54:25.367 回答