【问题标题】:Problem getting xml in a rails3 app在 rails3 应用程序中获取 xml 的问题
【发布时间】: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


【解决方案1】:

在以下行中遇到相同的错误:

respond_with Article.all.comments

这在控制台中有效,但在我的 xml 响应中无效。

我通过将该行更改为来解决它

respond_with Article.all.comments.all

虽然在控制台中给出了相同的响应。

所以也许你可以尝试一下

render :xml => @groceries.all

改为。

【讨论】:

    猜你喜欢
    • 2022-07-06
    • 2018-08-08
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 2018-11-06
    • 2016-04-29
    • 1970-01-01
    • 2017-10-30
    相关资源
    最近更新 更多