在大多数框架中,发送重定向意味着设置HTTP标头并退出而不将任何HTML数据发送回浏览器。但是,使用Firebug我发现Rails没有遵循这个约定:
def update
@phone_number = PhoneNumber.find(params[:id])
if @phone_number.update_attributes(params[:phone_number])
flash[:notice] = "Successfully updated phone number."
redirect_to @phone_number
else
render :action => 'edit'
end
end
作为回应,标题包含:
Connection close
Date Tue, 27 Oct 2009 06:17:00 GMT
X-Runtime 28
Location http://localhost:3000/phone_numbers/1999521184
和它还有show动作的结果,两次
任何想法为什么?
答案 0 :(得分:1)
有趣。看来萤火虫在骗我。使用WireShark,我确认它实际上不是发送页面数据,只是重定向和基本的“您正被重定向”消息。看起来像是一个萤火虫的bug。
答案 1 :(得分:1)
可能是Firebug的错误。另一件事是尝试这个:
redirect_to @phone_number and return