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]
更改了所有内容时,仍然抛出错误并将下一行指示为问题。
任何人都可以看到为什么?
什么线(从异常回溯)是从哪里来的错误? – 2013-04-06 22:19:44
除了Zippie的回答,你应该删除'@user = User.create!(user_info)'行,如果你想用'@ user.save'来使用剩下的代码。 – xkickflip 2013-04-06 22:27:52