2010-11-20 6 views
0

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

неопределенного метод `типа» для ноля: 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 doesnt, и я получаю ошибку, описанную выше.

Однако в моей местной окружающей среды, когда я иду в http://localhost:3000/groceriesclosest/radiues/lat/lng.xml он работает отлично

Любая идея, что происходит не так в моей принимающей версии? Кстати, я использую Mongrel как веб-сервер.

Спасибо!

Редактировать

Некоторые уточнения: во-первых, данные, установленные в «прод» такой же, как локально, так и второй, это линия format.xml { render :xml => @groceries }, что приводит к ошибке.

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

приложение/контроллеры/groceries_controller.rb: 92: в блоке (2 уровня) в getclosest приложение/контроллеры/groceries_controller.rb: 90: в getclosest

И какая-то часть полного следа:

alt text

+0

Ваш набор данных different in prod? Какая строка приводит к ошибке? Можете ли вы опубликовать трассировку стека? – johnmcaliley

+0

Наборы данных одинаковы. Я отредактировал сообщение, чтобы ответить на ваши вопросы. Дайте мне знать, если вам нужно больше от трассы. Благодаря ! – Johanisma

ответ

0

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

respond_with Article.all.comments 

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

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

respond_with Article.all.comments.all 

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

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

render :xml => @groceries.all 

вместо этого.

Смежные вопросы