1

我遇到了多个问题..

1.当我启动rails服务器并访问时http://0.0.0.0:3000/users,我可以看到我想要的所有用户但是,当我点击登录按钮时,输入我的凭据,然后尝试登录我会看到这个页面..

No route matches [POST] "/user_sessions/new"

我很困惑,因为我已经在 new.html.erb 页面上?

2.我正在使用魔法和simple_form gem,然后我跑了

rails generate scaffold User username:string email:string crypted_password:string salt:string

但是现在我在 db/migrate 中有两个迁移文件,我不确定我需要保留哪一个,因为我有一个 user_sessions 控制器和一个 users 控制器?

我所有的源代码都可以在https://bitbucket.org/jasonriddle/stubmoney获得

任何帮助,将不胜感激。

4

2 回答 2

0

嗯..这很尴尬..这..

resources :users
resources :user_sessions

match 'login'  => 'user_sessions#new',     :as => :login
match 'logout' => 'user_sessions#destroy', :as => :logout
match 'signup' => 'users#new', :as => :signup

和这个不一样。。

match 'login'  => 'user_sessions#new',     :as => :login
match 'logout' => 'user_sessions#destroy', :as => :logout
match 'signup' => 'users#new', :as => :signup

resources :users
resources :user_sessions

有人可以解释为什么订购很重要吗?

此外,当我输入我的凭据并点击登录按钮时,新页面会再次呈现..

于 2012-10-26T05:40:06.567 回答
0

来自“从外到内的 Rails 路由”:

routes.rb 文件在请求进来时从上到下进行处理。请求将被分派到第一个匹配的路由。如果没有匹配的路由,Rails 会向调用者返回 HTTP 状态 404。

不知道为什么要再次呈现页面。

于 2013-08-28T23:17:38.153 回答