Rails开发中的数据传递、过滤器与缓存策略
1. Flash数据传递
在Rails开发中,当使用 redirect_to() 将控制权转移到另一个动作时,浏览器会生成一个单独的请求来调用该动作。这个新请求会在控制器对象的新实例中处理,原动作中设置的实例变量在重定向后的动作中不可用。不过,我们可以使用 flash 来在这两个实例之间传递数据。
flash 是一个临时的数据存储区,它类似于哈希表,数据存储在会话数据中。你可以存储与键关联的值,并在后续请求中检索它们。默认情况下,在处理一个请求时存储在 flash 中的值,会在下一个请求处理时可用,处理完下一个请求后,这些值会从 flash 中移除。
下面是一个简单的示例,展示了如何在 BlogController 中使用 flash 传递消息:
class BlogController
def display
@article = Article.find(params[:id])
end
def add_comment
@article = Article.find(params[:id])
comment = Comment.new(params[:comment])
@article.comments << comment
if @article.save
flash
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



