Это немного старый вопрос, но я обнаружил, что метод response_to Rails (по крайней мере, начиная с 3.1) можно убедить отрендерить в определенном формате, добавив параметр запроса 'format' к рассматриваемому ресурсу. Например:
В контроллере:
def show
@object = Object.find(params[:id])
respond_to do |format|
format.html
format.json { render json: @object }
end
end
В браузере:
/object/1 # => renders as html
/object/1?format=json # => renders as json
/object/1.json # => also renders as json
Никаких изменений в приложении rails не требуется, чтобы это произошло. Это как магия.