当我尝试执行某个操作时,@user.update_attributes(params[:user])
我的用户已注销,或者似乎已注销。我得到消息,undefined method 'first_name' for nil:NilClass
。如果我回到我的主页,我会得到登录链接。为什么会这样?我已经阅读了我需要包含的stackoverflow,attr_accessible :admin
但这似乎根本没有帮助。
user.rb 更新方法
def update
@user = User.find(params[:id])
if !params[:headshoturl].blank? then
@user.upload_headshot(params[:headshoturl])
end
respond_to do |format|
if @user.update_attributes(params[:user])
format.html { redirect_to @user, notice: 'User was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
迁移文件
class DeviseCreateUsers < ActiveRecord::Migration
def change
create_table(:users) do |t|
## Database authenticatable
t.string :email, :null => false, :default => ""
t.string :encrypted_password, :null => false, :default => ""
## Recoverable
t.string :reset_password_token
t.datetime :reset_password_sent_at
## Rememberable
t.datetime :remember_created_at
## Trackable
t.integer :sign_in_count, :default => 0
t.datetime :current_sign_in_at
t.datetime :last_sign_in_at
t.string :current_sign_in_ip
t.string :last_sign_in_ip
## Confirmable
# t.string :confirmation_token
# t.datetime :confirmed_at
# t.datetime :confirmation_sent_at
# t.string :unconfirmed_email # Only if using reconfirmable
## Lockable
# t.integer :failed_attempts, :default => 0 # Only if lock strategy is :failed_attempts
# t.string :unlock_token # Only if unlock strategy is :email or :both
# t.datetime :locked_at
## Token authenticatable
# t.string :authentication_token
# Custom changes
t.string :first_name
t.string :last_name
t.string :user_code
t.timestamps
end
add_index :users, :email, :unique => true
add_index :users, :reset_password_token, :unique => true
# add_index :users, :confirmation_token, :unique => true
# add_index :users, :unlock_token, :unique => true
# add_index :users, :authentication_token, :unique => true
end
end
路线.rb
devise_for :users do get '/users/sign_out' => 'devise/sessions#destroy' end
resources :users