2016-01-21 32 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