Michael Hartl ch9:如何注册

时间:2017-06-08 06:24:16

标签: ruby-on-rails git

我已经完成了Michael Hartl ch 9并且没有测试错误。 但我无法注册......

它返回如下错误,即使如此以前我也可以注册.login工作正常。

如何修复并注册?

我应该合并注册分支吗?但是这样做我可以放松所有的变化..可以通过这个更高级的分支进行注册吗?

错误:

  

没有路线匹配[POST]“/ signup”

routes.rb中:

Rails.application.routes.draw do
  root   'static_pages#home'

  get    '/help',    to: 'static_pages#help'
  get    '/about',   to: 'static_pages#about'
  get    '/contact', to: 'static_pages#contact'
  get    '/signup',  to: 'users#new'
  get    '/login',   to: 'sessions#new'
  post   '/login',   to: 'sessions#create'
  delete '/logout',  to: 'sessions#destroy'

  resources :users
end

感谢。

感谢大家的回答。 它现在有效。 还有一个问题。 当用户注册时 - 他们可以直接参与网站。这是不好的,因为他们需要通过电子邮件确认,只有他们可以参与。

如何实施?

我认为这是解决方案Michael Hartl,我甚至为Rails 4实现了它,但是不记得需要改变什么.. 需要更改哪些文件才能允许用户在收到电子邮件确认后才能参与网站。 感谢。

3 个答案:

答案 0 :(得分:0)

错误非常明确且清晰,您没有users#create的路线,您需要实施该操作,它应该有效。

通过书中的this section ..

答案 1 :(得分:0)

  

没有路线匹配[POST]" /注册"

您的路线应该有post '/signup', to: 'users#create'

答案 2 :(得分:0)

您需要添加

  post '/signup',  to: 'users#create'

中编写create方法
class UsersController < ApplicationController
  def create
    # Create User with signup parameterss
  end
end