gpt4 book ai didi

ruby-on-rails - 如何在 Rails 上实现 cookieless flash 消息?

转载 作者:行者123 更新时间:2023-12-04 07:36:10 27 4
gpt4 key购买 nike

我正在开发一个 facebook 应用程序,所以由于 P3P,我不能依赖 cookie(隐私首选项项目),是的,这太痛苦了(请参阅 slides 18 and 19 on this slideshare about Rails and Facebook apps 的图片)...

在 Facebook 应用程序中,从浏览器的角度来看,每个 cookie 都是第三方 cookie。许多浏览器默认阻止它们。

所以我的问题是:如何在不依赖 cookie 的情况下实现 flash 消息?

更新:

我相应地修改了 session_store.rb 和数据库。现在 session 存储在数据库中,但 Flash 消息仍然依赖于 cookie...有什么想法吗?

更新#2:

我终于找到了解决方法,请参阅下面的答案。最好的办法是ajax everything(根据上面链接的 slideshare),但作为快速修复,我的解决方案应该有效。

最佳答案

我终于找到了一个解决方法实现我自己的(简单的)闪现消息并通过参数将它们从一个请求传递到另一个请求。

首先,我覆盖了 application_controller.rb 中的 default_url_options 以附加到每个请求:my_flash 参数:

def default_url_options 
{ :my_flash => @my_flash }
end

然后,总是在 application_controller.rb 中,我写了一个 my_flash_from_params before_filter 来设置 @my_flash 变量:

def my_flash_from_params
@my_flash = params[:fb_flash]
end

最后,我在 application.html.erb 中渲染了以下 _my_flash.html.erb 部分

<div class="my_flash">
<%= my_flash %>
</div>

调用:

 <%= render :partial => "layouts/my_flash", :locals => {:my_flash => @my_flash} if @my_flash %>

如果您想尝试此解决方案,另请参阅 this answer about default_url_options rewriting .

关于ruby-on-rails - 如何在 Rails 上实现 cookieless flash 消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11458283/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com