Rails новая запись с enum всегда одинакова

Я использую devise пригласить новых пользователей.

У меня есть модель пользователя с ролью столбца для enum

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

1 ответ

Может ли это быть, потому что вы проверяете роль в User.new.role? Вы должны проверить последнего созданного пользователя (User.last)

Другие вопросы по тегам