我正在尝试使用 has_secure_password 的简单身份验证系统,但我收到了标题中列出的错误。我已经多次看到这个问题,但其他人的建议或修复都没有为我工作。我正处于我确定我必须有一个简单的错误但我找不到任何错误的地步。下面发布的是我的相关代码:
宝石文件:
gem 'rails', '3.2.13'
gem 'bcrypt-ruby'
用户控制器:
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(params{:user})
if @user.save
session[:user_id] = @user.id
redirect_to root_url, notice: "User created"
else
render "new"
end
end
end
用户模型:
class User < ActiveRecord::Base
has_secure_password
attr_accessible :email, :password, :password_confirmation
validates :password, presence: true, length: { minimum: 6 }
validates_confirmation_of :password
validates :password_confirmation, presence: true
end
用户形式:
<div class="field">
<%= f.label :email %><br />
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :password %><br />
<%= f.password_field :password %>
</div>
<div class="field">
<%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %>
</div>
<div class="actions"><%= f.submit "Sign Up" %></div>
<% end %>
移民:
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :email
t.string :password_digest
t.timestamps
end
end
end
这是我得到的实际错误:
Can't mass-assign protected attributes: utf8, authenticity_token, user, commit, action, controller
预先感谢您对我的困境的任何见解。