【发布时间】:2011-05-13 04:21:05
【问题描述】:
我遇到了一个非常奇怪的问题:在 rails 3 应用程序中请求 xml 格式的数据在我的本地环境中工作,但在我的托管环境中,我收到 NoMethod 错误。更准确地说:
nil:NilClass 的未定义方法 `type'
这是我正在谈论的方法:
def getclosest
radius = params[:radius].gsub(",",".").to_d
origin = [params[:lat].gsub(",",".").to_d,params[:lng].gsub(",",".").to_d]
@groceries = Grocery.within(radius, :origin => origin)
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @groceries }
end
end
这个方法在我去url的时候调用:http://www.mysite.com/groceriesclosest/myradius/mylat/mylng
.html 有效,但 .xml 无效,我收到上述错误。
但是,在我的本地环境中,当我转到 http://localhost:3000/groceriesclosest/radiues/lat/lng.xml 时,它工作正常
知道我的托管版本出了什么问题吗?顺便说一句,我使用 Mongrel 作为网络服务器。
谢谢!
编辑
一些精度:第一,“prod”中的数据集与本地相同,第二,导致错误的是行format.xml { render :xml => @groceries }。
这是应用程序跟踪的一部分:
app/controllers/groceries_controller.rb:92:in block (2 levels) in getclosest app/controllers/groceries_controller.rb:90:in getclosest
以及完整跟踪的一部分:
【问题讨论】:
-
您的数据集在产品中是否有所不同?哪一行导致错误?你能发布堆栈跟踪吗?
-
数据集是一样的。我编辑了消息以回答您的问题。如果您需要更多跟踪信息,请告诉我。谢谢!
标签: xml ruby-on-rails-3 mongrel