0

我正在关注“从头开始的身份验证”railscast,但无法使其正常工作。

控制器:

class UsersController < ApplicationController
    def new
        @user = User.new
    end

    def create
        @user = User.new(params[:user])
        if @user.save
            redirect_to products_path, notice: 'User created successfully'
        else
            render 'new'
        end
    end
end

模型:

class User < ActiveRecord::Base
  has_secure_password

  attr_accessible :email, :password, :password_confirmation

  validates_uniqueness_of :email
end

用户#新形式:

<h1>Sign up form</h1>

<%= form_for @user do |f| %>

    <%= f.label :email %>
    <%= f.text_field :email %>

    <%= f.label :password %>
    <%= f.password_field :password %>

    <%= f.label :password_confirmation %>
    <%= f.password_field :password_confirmation %>

    <%= f.submit %>

<% end %>

当我尝试转到新的用户表单时,它会抛出一个 NoMethodError - 未定义的方法“email”,指的是具有“f.text_field:email”的行。

我在这里想念什么?

感谢任何帮助表示赞赏。

4

1 回答 1

0

Your users table does not have an email column. Please run a migration to add the column to your users table.

于 2013-08-23T05:49:39.483 回答