我使用设计邀请来邀请新用户。
我有一个用户模型,其中包含枚举
的角色列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"}
如果我选择&#34;客户&#34;并提交表格我可以看到正确的参数已提交"role"=>"client"
但是当我检查数据库时,它总是有#34;培训师&#34;
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 :(得分:-1)
这可能是因为您正在User.new.role
检查角色吗?
您应该检查上次创建的用户(User.last
)