Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails未初始化常量控制器参数_Ruby On Rails_Ruby_Controller_Params - Fatal编程技术网

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你怎么知道的?天才!就这样