【问题标题】:Devise Routes Not Working设计路线不起作用
【发布时间】:2013-03-06 13:38:20
【问题描述】:

我正在尝试使用 Devise 启动并运行一个简单的 Ruby/Rails 应用程序。我已经遵循了几个设计指南,并且已经到了我的主页显示在 localhost 上的地步。我有两个链接,登录和注册。但是,当我单击其中任何一个时,它只会重新显示主页,即使 URL 显示在新页面上也是如此。我认为这可能是一个路由问题,但我不知道该怎么做,因为我相信 Devise 会为我处理这个问题。当我做'rake routes'时,我得到:

Francis@RYAN-PC ~/Documents/SCHOOL STUFF/USF - Super Senior Year/Senior Project/logintest
$ rake routes
          home_index GET    /home/index(.:format)          home#index
    new_user_session GET    /users/sign_in(.:format)       devise/sessions#new
        user_session POST   /users/sign_in(.:format)       devise/sessions#create
destroy_user_session DELETE /users/sign_out(.:format)      devise/sessions#destroy
       user_password POST   /users/password(.:format)      devise/passwords#create
   new_user_password GET    /users/password/new(.:format)  devise/passwords#new
  edit_user_password GET    /users/password/edit(.:format) devise/passwords#edit
                     PUT    /users/password(.:format)      devise/passwords#update
cancel_user_registration GET    /users/cancel(.:format)        devise/registrations#cancel
   user_registration POST   /users(.:format)               devise/registrations#create
   new_user_registration GET    /users/sign_up(.:format)       devise/registrations#new
  edit_user_registration GET    /users/edit(.:format)          devise/registrations#edit
                     PUT    /users(.:format)               devise/registrations#update
                     DELETE /users(.:format)               devise/registrations#destroy
                root        /                              home#index

从我看到的屏幕截图来看,这有问题。例如,对于“new_user_session”路由,路由应该类似于{:action=>"new", :controller=>"devise/sessions"}。这可能只是说同一件事的不同方式,但我不确定。我唯一能想到的另一件事是我没有提供处理这些路由的代码,所以默认情况下它只是重新显示相同的网页。但是,我认为 Devise 可以处理所有这些。我正在运行 rails 3.2.11 和 Devise 2.0.0('gem list' 说我也有 Devise 1.1.rc0)。我希望这是一个简单的误解和修复,但如果有人可以提供帮助,那就太好了。谢谢。

EDIT 3/6/13 9:24AM:删除了设计 1.1.rc0 并重新启动了 rails 服务器。似乎什么都没做。这是我的路线文件(已取出 cmets):

LoginTest::Application.routes.draw do
get "home/index"

devise_for :users

root :to => 'home#index'
end

EDIT 3/6/13 2:27PM:当我打开一个新标签到 localhost 然后点击注册时,这是我的开发日志:

编辑 2013 年 3 月 6 日晚上 9:58:更新日志以反映我遇到的路线错误。功能(或缺少功能)没有改变。

Started GET "/" for 127.0.0.1 at 2013-03-06 21:55:58 -0500
Processing by HomeController#index as HTML
  Rendered home/index.html.erb within layouts/application (0.0ms)
Completed 200 OK in 34ms (Views: 34.0ms | ActiveRecord: 0.0ms)


Started GET "/assets/home.css?body=1" for 127.0.0.1 at 2013-03-06 21:55:59 -0500
Served asset /home.css - 304 Not Modified (0ms)


Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2013-03-06 21:55:59 -0500
Served asset /jquery.js - 304 Not Modified (0ms)


Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2013-03-06 21:55:59 -0500
Served asset /application.css - 304 Not Modified (0ms)


Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2013-03-06 21:55:59 -0500
Served asset /jquery_ujs.js - 304 Not Modified (0ms)


Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2013-03-06 21:55:59 -0500
Served asset /application.js - 304 Not Modified (6ms)


Started GET "/assets/home.js?body=1" for 127.0.0.1 at 2013-03-06 21:55:59 -0500
Served asset /home.js - 304 Not Modified (0ms)


Started GET "/users/sign_up" for 127.0.0.1 at 2013-03-06 21:56:01 -0500
Processing by Devise::RegistrationsController#new as HTML
  Rendered c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/devise-2.2.3/app/views/devise/shared/_links.erb (1.0ms)
  Rendered c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/devise-2.2.3/app/views/devise/registrations/new.html.erb within layouts/application (16.0ms)
Completed 200 OK in 65ms (Views: 64.0ms | ActiveRecord: 0.0ms)


Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2013-03-06 21:56:01 -0500
Served asset /application.css - 304 Not Modified (0ms)


Started GET "/assets/home.css?body=1" for 127.0.0.1 at 2013-03-06 21:56:01 -0500
Served asset /home.css - 304 Not Modified (0ms)


Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2013-03-06 21:56:02 -0500
Served asset /jquery.js - 304 Not Modified (0ms)


Started GET "/assets/home.js?body=1" for 127.0.0.1 at 2013-03-06 21:56:02 -0500
Served asset /home.js - 304 Not Modified (0ms)


Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2013-03-06 21:56:02 -0500
Served asset /jquery_ujs.js - 304 Not Modified (0ms)


Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2013-03-06 21:56:02 -0500
Served asset /application.js - 304 Not Modified (2ms)

感谢大家的帮助。希望此日志可以提供帮助。

编辑 2013 年 3 月 6 日晚上 10:13:刚刚发现我现在已经设计了 2.2.3 和 2.0.0。功能没有改变。

EDIT 3/7/13 3:08PM:仍然没有弄清楚。有什么想法吗?

【问题讨论】:

  • 这可能不是,但我会尝试的第一件事是重新启动 Rails 服务器。
  • 这个问题已经持续了几天了,因为项目的几个不同迭代(删除和从头开始)和许多服务器重置。不过还是谢谢。
  • 您是否已经完成并配置了设计初始化程序?您是否在用户模型中设置了所有相关模块?
  • 您的路线看起来不错,也许您可​​以发布日志?
  • 是的,当您单击链接时查看写入 development.log 的内容将是最有用的。

标签: ruby-on-rails devise routes


【解决方案1】:

好的,我想通了。我的<%yield%> 行没有= 来显示代码。现在它确实显示了。谢谢大家的时间。

【讨论】:

  • 请上传我对收益声明的评论,如果这有助于您解决它。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-25
  • 1970-01-01
  • 1970-01-01
  • 2017-10-02
  • 2013-05-03
  • 2014-09-08
相关资源
最近更新 更多