Ruby on rails rails3设计-无路线匹配“/会话/用户“;

Ruby on rails rails3设计-无路线匹配“/会话/用户“;,ruby-on-rails,ruby-on-rails-3,session,authorization,devise,Ruby On Rails,Ruby On Rails 3,Session,Authorization,Devise,这是我第一次使用Desive,我被大量的文件和配置选项弄糊涂了。 在安装Desive之前,我使用了来自ryan bates的俏皮认证——在安装Desive之前我没有删除它,我想现在我的路线和/或控制器有点混乱 嗯,在/users/sign_中唱歌之后,designe试图将我重定向到 http://localhost:3000/sessions/user 但我得到了一个错误: No route matches "/sessions/user" 我不知道哪里出错了,谢谢你的帮助 我将所有相关代码

这是我第一次使用Desive,我被大量的文件和配置选项弄糊涂了。 在安装Desive之前,我使用了来自ryan bates的俏皮认证——在安装Desive之前我没有删除它,我想现在我的路线和/或控制器有点混乱

嗯,在/users/sign_中唱歌之后,designe试图将我重定向到

http://localhost:3000/sessions/user
但我得到了一个错误:

No route matches "/sessions/user"
我不知道哪里出错了,谢谢你的帮助

我将所有相关代码放在一个要点中:


提前感谢

这是因为您的路由中没有根路径。正如您在“设计”页面中所读到的:

登录用户后,确认 帐户或更新密码, Desive将查找作用域根 重定向的路径。示例:对于:用户 资源,它将使用用户\根\路径 如果存在,则为默认值 将使用根路径。这意味着 你需要在里面设置根 你的路线

要指定重定向页面,需要执行以下操作


顺便说一句,你不需要会话控制器来让它工作

在我的例子中,我有一个会话控制器,它导致了问题。从路由文件中删除资源:会话应该可以解决这个问题。这是因为我以前创建了一个会话管理器。一旦消失,我就再也看不到问题了。

我的路由文件(gist routes.rb中的第88行)中已经有root:to=>“pages#index”-似乎不起作用,然后尝试为登录指定重定向页面。我猜它不起作用是因为sessions controller没有与用户连接,并且里面没有用户方法,所以无法找到sessions/user(但我不知道为什么要在那里设计重定向;/try this)谢谢Greg我尝试了,但没有成功。。。仍然得到相同的错误。它一定与views/designe/session/new.html.erb“resource_name,:url=>session_path(resource_name))do | f |”中的这一行有关,因为url=>session_path(resource_name)将是/session/user,并且它不存在。当我更改此路径时,重定向工作,但Desive不会将我记录到infwiw中,我通过完全回滚我以前使用的nifty:authorization解决了这个问题。(rails destroy nifty:authorization)在我再次生成用户模型和控制器并清理了一些路由之后,它现在可以工作了。你能发布你的config/routes.rb文件吗?