2013-09-13 5 views
0

Привет Я пытаюсь создать пользовательский контроллер, который возвращает метод как json.Как отправить данные JSON с использованием рельсов

Вот мой контроллер

respond_to :json 
    def rates 
    @event = Event.find(params[:id]) 
    respond_with @event.avg_rating 
    end 

Теперь у меня есть модель со следующим методом

# returns the average rating for that event 
def avg_rating 
    @avg = self.ratings.average(:stars)  
    @avg ? @avg : 0 
end 

Однако, когда я получаю реагировать я получаю это:

3.75 

Что бы например, стандартный json отвечает либо {"event": "3.75"}

Но я не уверен, что использовать, чтобы просто преобразовать его, чтобы ответить на этот вопрос

ответ

3

Вам понадобится фактический объект для рендеринга json. Хэш обычно проще всего. И вы захотите использовать рендер вместо reply_with

render json: {:event => @event.avg_rating} 
+0

Спасибо, просто и то, что я ищу, будет принимать ответ после разрешения – Jseb

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