2013-08-14 3 views

ответ

5

В контроллерах вы несложных должны создать блок respond_to, который отвечает только JSON:

respond_to do |format| 
    format.json { render :json => @model } 
end 
+2

Это то, что у меня есть сейчас. поэтому /app/model.json вернет JSON, но/app/model вызывает ActionController :: UnknownFormat в индексе InterestController #. Итак, как сделать json по умолчанию? – JStroop

+2

Тогда вам нужно сделать это в своей маршрутизации: 'resources: model,: defaults => {: format => 'json'}' –

+0

Это тот соус, который я искал. Благодаря! – JStroop

0

Это на самом деле решение, принятое контроллером, а не потому, что есть/не модель или вид присутствует , В вашей controller вы можете:

render json: @your_model 

Однако вы быстро обнаружите, что реализация по умолчанию to_json (что используется внутри, выше) может быть раздражающим трудно сделать именно то, что вы хотите. Когда вы достигнете этой точки, вы можете использовать RABL для создания представлений, которые массируют JSON из вашей модели (ов) в точности так, как вы хотите.

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