2016-01-21 63 views
-3

我正在使用設計可邀請來邀請新用戶。使用枚舉的Rails新記錄始終是相同的

我有一個角色欄用戶模型,枚舉

class User < ActiveRecord::Base 
    enum role: [:client, :trainer, :admin] 

我的新用戶的形式對角色列

.form-group 
    = f.label :role, class: "col-sm-2 control-label" 
    .col-sm-10 
     = f.select :role, ['client', 'trainer', 'admin'], {},{class: "form-control"} 

以下,如果我選擇「客戶端」,並提交形式我可以看到正確的參數提交"role"=>"client",但是當我檢查數據庫時,它始終具有角色「培訓師」

users_controller

def create 
     @user = User.new(user_params) 
     if User.find_by_email(@user.email).nil? 
      User.invite!(:email => @user.email) 
      redirect_to(users_path, :notice => 'User created') 
     else 
      render :action => 'new' 
     end 
     end 
def user_params 
     params.require(:user).permit(:email, :role, :name) 
    end 
+0

您是否允許在您的user_params上有角色? –

+0

@MarceloRisoli是的,當然... –

+0

爲什麼這會得到downvoted? –

回答

-1

難道這是因爲您正在檢查角色User.new.role? 您應該檢查最後創建的用戶(User.last