我正在关注'从头开始验证'的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
用户#new form:
<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'的行。
我在这里缺少什么?
感谢任何帮助。
答案 0 :(得分:0)
您的users
表格没有email
列。请运行迁移以将列添加到users
表。