通过VirtualBox访问开发Rails应用程序时的会话错误

时间:2010-12-10 02:38:32

标签: ruby-on-rails ubuntu virtualization virtualbox

我正在Ubuntu 10.10上开发一个Rails 3应用程序,需要检查IE7和IE8上的CSS和Javascript,所以我使用VirtualBox和Microsoft provides的图像。我已经安装并运行良好的图像 - 我可以使用IE7和IE8访问互联网并使用网站就好了。

我也可以通过在每个浏览器中访问10.0.2.2:3000来访问我的开发Rails应用程序(在Ubuntu上运行)(不知道为什么它可以工作而localhost没有,但是很好)。在页面上任何不需要用户登录的GET渲染就像我期望的那样。

会话出了什么问题 - 尽管我可以说,IE7和IE8都完全忽略了与开发应用程序的会话。每当我提交登录表单时,我都会收到InvalidAuthenticityToken错误,当然,在Rails的错误页面中,会话中的值与params不匹配。我甚至设置了一个特殊的路由来自动以随机用户身份登录访问者,但它不起作用。我刚下载并在其中一台虚拟PC上安装了Firefox,它遇到的问题与IE相同。

一切都在Ubuntu的Chrome / Firefox中完美运行,所以它似乎不是Rails,显然它不是IE。我认为VirtualBox缺少一些东西,但我在今天之前没有虚拟化经验,所以我甚至不知道如何开始排除故障。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

想出来:因为我通过ip地址访问应用程序而没有设置cookie(cookie存储的Rails':domain => :all选项显然不包括这种可能性)。我将lvh.me指向WinXP的hosts文件中的10.0.2.2,一切都很好。

答案 1 :(得分:0)

我在IE8上遇到了类似的问题,会话cookie被关闭了。在我将会话cookie转为on:

之后,我的Rails应用登录工作正常
  • Internet Explorer>工具>互联网选项>隐私标签>高级按钮>勾选“始终允许会话cookie”