无法显示来自http页的https模态

时间:2018-09-15 22:20:40

标签: ruby-on-rails ruby-on-rails-3 ssl https modal-dialog

我有一个Rails 3.2.21应用程序,该应用程序要求用户登录才能执行多项操作(例如,跟随另一个用户)。

问题是我仅将登录和注册页面 切换为 https ;该应用程序的其余部分仍为http(在这两个页面上,使用rack-ssl-enforcer gem至301从http-> https重定向到这两个页面)。通过Ajax打开模式以显示登录或注册时,它不起作用。在Rails日志中显示:

WARNING: Can't verify CSRF token authenticity

在Chrome中,控制台显示:

Failed to load https://mydomain/signup: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://mydomain' is therefore not allowed access.

代码如下所示。单击该链接以跟随用户将运行以下jQuery代码:

$.ajax({ type: "GET", url: "/follow/" + $(this).data("follow-id") })

FollowsController具有before_filter :login_required,并且login_required中的ApplicationController方法如下:

def login_required redirect_to "/signup" and return end

没有登录和注册页面为https的情况,一切正常。当我将它们切换为https时,此问题逐渐蔓延。

编辑:

已经尝试过here发布的解决方案,但无济于事。

1 个答案:

答案 0 :(得分:0)

rack-cors gem进行营救。做到了。