无法在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]