1

在大多数框架中,发送重定向意味着设置 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 action 的结果,两次

任何想法为什么?

4

2 回答 2

1

可能是 Firebug 的错误。尝试这个的另一件事:

redirect_to @phone_number and return
于 2009-10-27T16:34:31.090 回答
1

有趣的。看来萤火虫在骗我。使用 WireShark,我确认它实际上没有发送页面数据,只是重定向和基本的“您正在被重定向”消息。看起来像萤火虫的错误。

于 2009-10-27T13:13:30.870 回答