【问题标题】:Rails redirect alters url preventing from loading imagesRails 重定向更改 url 防止加载图像
【发布时间】:2014-10-06 20:31:15
【问题描述】:

我登录控制器并查看成功登录时添加会话变量的配置。当控制器返回客户端 javascript 时,我使用 JQuery 重新加载页面,其中初始控制器检查会话变量。如果变量存在,那么我重定向到主页。

loggedIn = 会话[:loggedIn]

if(loggedIn == true)
    #redirect_to :controller => 'overview', :action => 'homepage'
    redirect_to 'overview/homepage'
else
    render 'login'
end

当主页尝试通过 javascript 加载图像以粘贴到谷歌地图时,所有这些都可以很好地接受,它默认为新 URL 作为它的来源。在添加登录屏幕之前,用于查找图像的 url 是这样的:

    http://localhost:3000/images/image.png

但是在重定向之后,它会尝试在 url 中查找图像,如下所示

    http://localhost:3000/overview/images/image.png

当不存在这样的文件目录时,这显然会失败。这也弄乱了我对服务器的一些调用,但我通过对路由文件进行了一些更改来解决它们。

这是引用图像的 javascript 代码

    var someImage = {
            url: '/images/image.png', 
            size: new google.maps.Size(40,40), 
            origin: new google.maps.Point(0,0),
            anchor: new google.maps.Point(20,20)
         }

如何防止网址被更改,将“概览”添加到我的图像目录的一部分?

【问题讨论】:

    标签: javascript ruby-on-rails


    【解决方案1】:

    我修好了。在我的路线文件和试错尝试之间,我得到了一些代码混乱。

    显然是这样的

        redirect_to :controller => 'overview', :action => 'homepage'
    

    更改 url 中的根。

    只需保留

        redirect_to '/overview/homepage'
    

        get 'overview/homepage' 
    

    在路由文件中是正确的重定向。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      • 2012-02-01
      • 1970-01-01
      • 2015-07-26
      • 2011-07-30
      • 1970-01-01
      相关资源
      最近更新 更多