2013-12-15 34 views
0

我試圖讓用戶停用他們的帳戶,並重新激活他們的帳戶。我有代碼允許當他們停用帳戶時將is_active整數值更改爲0。重新激活帳戶 - 如何從Postgres數據庫刪除整數類型設計Rails 4

我正在使用devise 3,rails 4和postgres。

這是我的銷燬方法app/controllers/registration_controller.rb它覆蓋了devise的方法並將數據保存在數據庫中。

def destroy 
    @user = User.find(current_user.id) 
    @user.is_active = 0 
    if @user.save 
    set_flash_message :notice, :destroyed 
    sign_out @user 
    redirect_to root_path 
    else 
    render "edit" 
    end 
end 

然後我複製的想法,並做了一個按鈕,用於激活該帳戶和使用該代碼在相同的註冊控制器:

def activate 
    @user = User.find(current_user.id) 
    @user.is_active == nil 
    if @user.save 
    set flash_message :notice 
    redirect_to edit_user_registration_path 
    else 
    render "edit" 
    end 
end 

如何設置的IS_ACTIVE整數型背到空白空間?

+0

考慮制定IS_ACTIVE一個布爾數據類型,真正的默認,並根據需要 – house9

回答

1

我覺得這裏的問題:

@user.is_active == nil #< -- conditional double = 

應該

@user.is_active = nil #< -- assignation 
+0

是啊,沒有工作將其設置爲false ,那是我第一次猜測:/ – Daniel