По какой-то причине искатель facebook запускает json-ответ в моих действиях с рельсами. Это приводит к тому, что действие просто возвращает json-представление объекта без обычных меток html markup + open graph. Я проверил это с помощью рельсов 3.2.6. Я использую отлаживатель откройте графический отладчик facebook, чтобы посмотреть, что видит скребок: http://developers.facebook.com/tools/debug.facebook open graph crawler triggering json response in rails действия
Код очень прост. Представьте себе простое действие «показать» для объекта, например пользователя. Она заканчивается:
respond_to do |format|
format.js { render :json => @this.to_json }
format.html
end
facebook искатель вызывая format.js, что вызывает открытые теги график, чтобы не быть оказаны. Любые идеи, почему это может произойти или как это исправить? Благодарю.
Есть также «настоящие» пользовательские агенты, которые говорят, что они будут принимать */* - например (IIRC), старый IE сделает это на перезагрузке страницы. Поэтому, возможно, лучше всего настроить приложение таким образом, чтобы он служил HTML как приоритет №1. – CBroe
Это не работает, я пробовал различные заказы для format.html, format.js и format.json. Похоже, Rails интерпретирует 'HTTP_ACCEPT' */* как format.json. Как я могу это исправить? Я разместил здесь свой вопрос: http://stackoverflow.com/questions/12094683/facebook-open-graph-action-rails-return-json-or-html – Dean