无法在Ruby上创建一个新的模型对象 – params是一个符号?

我得到一个奇怪的错误,我不明白。 似乎当我尝试创建一个新的模型对象时,有关params的一些东西正在被作为符号而我无法对它们做任何事情。

我得到的错误是:

can't convert Symbol into Integer 

控制器动作是:

 def create user_info = :params[:user] if !user_info.value? "" if user_info[:password] == user_info[:password2] and user_info[:email] == user_info[:email2] user_info.delete("password2") user_info.delete("email2") @user = User.create!(user_info) @user = User.new(user_info) respond_to do |format| if @user.save format.html { redirect_to(@user, :notice => 'User was successfully created.') } else format.html { render :action => "new" } end end end flash[:warning] = "Please try again" redirect_to home_index_path end 

我正在尝试用“”提交属性,但是我收到了这个错误。 当我删除指示的问题行user_info = :params[:user]并根据user_info = :params[:user]更改了所有内容时,它仍然抛出错误并指示下一行是问题。

谁能明白为什么?

 user_info = :params[:user] 

至:

 user_info = params[:user]