Ruby on rails rails未初始化常量控制器参数
我向模型添加了一个属性Ruby on rails rails未初始化常量控制器参数,ruby-on-rails,ruby,controller,params,Ruby On Rails,Ruby,Controller,Params,我向模型添加了一个属性:roleid我已经运行了迁移并确认它在数据库中。控制器中正在发生错误 仅当我在表单中输入值时,它抛出错误:uninitialized constant User::Roleid 它突出显示创建操作中的行@user=user.new(用户参数): 用户参数定义如下: params.require(:user).permit(:id, :email, :encrypted_password, :fname, :lname, :roleid) 如您所见,roleid存在: m
:roleid
我已经运行了迁移并确认它在数据库中。控制器中正在发生错误
仅当我在表单中输入值时,它抛出错误:uninitialized constant User::Roleid
它突出显示创建操作中的行@user=user.new(用户参数)
:
用户参数
定义如下:
params.require(:user).permit(:id, :email, :encrypted_password, :fname, :lname, :roleid)
如您所见,roleid
存在:
mysql> DESCRIBE users;
+------------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| email | varchar(255) | NO | UNI | | |
| encrypted_password | varchar(255) | NO | | | |
| reset_password_token | varchar(255) | YES | UNI | NULL | |
| reset_password_sent_at | datetime | YES | | NULL | |
| remember_created_at | datetime | YES | | NULL | |
| sign_in_count | int(11) | NO | | 0 | |
| current_sign_in_at | datetime | YES | | NULL | |
| last_sign_in_at | datetime | YES | | NULL | |
| current_sign_in_ip | varchar(255) | YES | | NULL | |
| last_sign_in_ip | varchar(255) | YES | | NULL | |
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
| fname | varchar(255) | YES | | NULL | |
| lname | varchar(255) | YES | | NULL | |
| roleid | int(11) | YES | | NULL | |
+------------------------+--------------+------+-----+---------+----------------+
错误全文如下:
Started POST "/users" for ::1 at 2016-03-17 17:23:31 -0400
Processing by UsersController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"48xz8D0jngCGOnL7qn4A93X2qeOcmvcE8QjXah7cjsxusA7FrPK8JhmVjRNa2nflkg4qfLs5cnL2oL9cHn/iUQ==", "user"=>{"id"=>"4", "email"=>"wlrg", "encrypted_password"=>"[FILTERED]", "fname"=>"flh", "lname"=>"wflh", "roleid"=>"4"}, "commit"=>"Create User"}
Completed 500 Internal Server Error in 5ms (ActiveRecord: 0.0ms)
NameError (uninitialized constant User::Roleid):
app/controllers/users_controller.rb:27:in `create'
控制器代码如下所示:
def create
@user = User.new(user_params)
respond_to do |format|
if @user.save
format.html { redirect_to @user, notice: 'User was successfully created.' }
format.json { render :show, status: :created, location: @user }
else
format.html { render :new }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
你是否有
属于用户定义的关联?@spickermann你怎么知道的?天才!那就是你的是否属于用户定义的关联?@spickermann你怎么知道的?天才!就这样