2013-04-06 32 views
0

我收到一个奇怪的错误,我不明白。看起来,当我尝试创建一个新的模型对象时,关于这些参数的一些事情正在成为象征,我无法对它们做任何事情。无法在Ruby on Rails中创建新的模型对象 - 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]并根据:params[:user]更改了所有内容时,仍然抛出错误并将下一行指示为问题。

任何人都可以看到为什么?

+0

什么线(从异常回溯)是从哪里来的错误? – 2013-04-06 22:19:44

+0

除了Zippie的回答,你应该删除'@user = User.create!(user_info)'行,如果你想用'@ user.save'来使用剩下的代码。 – xkickflip 2013-04-06 22:27:52

回答

3

打开

user_info = :params[:user] 

到:

user_info = params[:user] 
相关问题