我在jquery中设置了一个cookie,如下所示(工作正常,并生成cookie ):
$(document).ready(function() {
var consp = $("input[home]").attr("home");
$("input[name='commit']").click(function() {
$.cookie('home', consp);
});
});
在我的控制器中,我正在尝试获取cookie的值。所以我使用标准的READing格式的cookie,如下所示
def some_method
@value = cookies[:home]
end
但是当我输出@value的值时,什么也没有返回。这只会在我使用jquery设置cookie时发生,但是如果我直接通过rails设置cookie (不使用jquery)就不会发生这种情况。有没有想过为什么会发生这种情况?谢谢
发布于 2012-03-30 23:54:06
好了,解决了这个问题:
我在提交表单时创建了这个cookie,由于mvc架构的原因,rails会提交一个创建操作,并在成功重定向后重定向回原始页面。所以我需要这个cookie在所有页面上都有效,所以jquery.cookie plugin。
解决方案是将path参数传递到mix中,如下所示
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });
这将允许从所有页面路由读取cookie。
https://stackoverflow.com/questions/9932865
复制相似问题