Ruby on rails 成功登录后重定向,但仍在浏览器地址栏中显示原始URL

Ruby on rails 成功登录后重定向,但仍在浏览器地址栏中显示原始URL,ruby-on-rails,devise,Ruby On Rails,Devise,我正在使用Desive开发用户身份验证。登录页面如下所示 本地主机:3000/用户/登录。登录成功(Post请求)后,用户将被重定向到主页(localhost:3000/)。这是意料之中的,我确实看到了在浏览器中加载的主页内容 但是,浏览器地址栏仍将原始请求url显示为localhost:3000/users/sign\u in 知道为什么会这样吗?是设计配置还是rails服务器? 我在这里没有太多自己的代码,几乎只是为我的用户模型连接了默认的设计选项 以下是我的部分路线: new_user_s

我正在使用Desive开发用户身份验证。登录页面如下所示 本地主机:3000/用户/登录。登录成功(Post请求)后,用户将被重定向到主页(localhost:3000/)。这是意料之中的,我确实看到了在浏览器中加载的主页内容

但是,浏览器地址栏仍将原始请求url显示为localhost:3000/users/sign\u in

知道为什么会这样吗?是设计配置还是rails服务器? 我在这里没有太多自己的代码,几乎只是为我的用户模型连接了默认的设计选项

以下是我的部分路线:

new_user_session GET  /users/sign_in(.:format)  devise/sessions#new
user_session     POST /users/sign_in(.:format)  devise/sessions#create
root                  /                         home#index

谢谢

这是最新设计版本的代码块

文件:
。/gems/designe-2.1.2/app/controllers/designe/sessions\u controller.rb

# POST /resource/sign_in
def create
  resource = warden.authenticate!(auth_options)
  set_flash_message(:notice, :signed_in) if is_navigational_format?
  sign_in(resource_name, resource)
  respond_with resource, :location => after_sign_in_path_for(resource)
end

def after_sign_in_path_for(resource_or_scope)
  stored_location_for(resource_or_scope) || signed_in_root_path(resource_or_scope)
end

def signed_in_root_path(resource_or_scope)
  scope = Devise::Mapping.find_scope!(resource_or_scope)
  home_path = "#{scope}_root_path"
  if respond_to?(home_path, true)
    send(home_path)
  elsif respond_to?(:root_path)
    root_path
  else
    "/"
  end
end

例如,如果您将root配置为Home#Index,并且它受
before_filter:authenticate_user保护
然后在输入用户名和密码后,url必须是您的域名。

结果表明,它与我的jquery mobile inclusion有关。 这个链接解决了我的问题:


你能从你的应用程序控制器中发布你的
在路径中签名之后的方法吗?我的应用程序控制器实际上是空的,所以我使用的是设备的原始“在路径中签名之后的方法”。所以默认的行为是重定向到根目录,在我的例子中是“/”。我有一个类似于你的应用程序,使用默认的登录路径,如果我没有登录,它会重定向到登录页面,然后在我登录时重定向到根目录url。您确定您的根url与登录url不同吗?默认的功能相当标准。我在原始帖子中添加了我的相关路线。正如你所看到的,这是不一样的。实际上,我的主页索引甚至没有这个before#u过滤器:authenticate#u user!然而但是,登录成功后,主页内容仍会加载,但地址栏中的URL仍为/users/sign\u in。注销时也会发生同样的情况。你一定要加上它,否则你的登录就没用了。对。但就目前而言,这只是一个初步阶段。我们需要弄清楚哪些页面应该被保护,但目前还没有主页。这是一个不同的话题,但谢谢你的提醒。