Проблема с получением XML в приложении rails3 - PullRequest
0 голосов
/ 20 ноября 2010

У меня довольно странная проблема: запрос данных в формате xml в приложении rails 3 работает в моей локальной среде, но в моей размещенной среде появляется ошибка NoMethod.Точнее:

неопределенный метод `type 'для nil: NilClass

Вот метод, о котором я говорю:

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 уровня) в getclosest app / controllers / groceries_controller.rb: 90: в getclosest

И некоторая часть полной трассировки:

alt text

1 Ответ

0 голосов
/ 13 марта 2011

Получена та же ошибка в следующей строке:

respond_with Article.all.comments

это работает в консоли, но не в моем xml-ответе.

Я решил ее, изменив эту строку на

respond_with Article.all.comments.all

, который дает тот же самый ответ в консоли.

Так что, возможно, вы могли бы попробовать что-то вроде

render :xml => @groceries.all

вместо.

...