Приложение Facebook с iframe на рельсах
Я пытаюсь создать приложение для Facebook и пролистал книгу http://pragprog.com/titles/mmfacer/developing-facebook-platform-applications-with-rails. Все отлично работает на моей машине для разработки, когда мой метод рендеринга холста установлен как fbml. Но по разным причинам я хочу создать приложение с помощью iframe. Когда я настраиваю свое приложение на использование iframe, я не могу подключиться к своей машине для разработки. Я просмотрел много разных статей о создании приложения iframe, но ни одна из них не сработала. Это включает
http://wiki.developers.facebook.com/index.php/Cross_Domain_Communication_Channel
http://wiki.developers.facebook.com/index.php/XFBML
и любой другой сайт обнаружил поиск в Google любых комбинаций facebook, iframe, rails и других.
У меня есть файл xd_receiver.htm в моем общем каталоге, и мой макет выглядит
<!doctype html public “-//w3c//dtd xhtml 1.0 strict//en” “http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” xmlns:fb=”http://www.facebook.com/2008/fbml”>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title><%= controller.controller_name %>: <%= controller.action_name %></title>
<%= stylesheet_link_tag "jquery-ui-1.7.1.custom.css", "styles" %>
<%= javascript_include_tag "jquery-1.3.2.min.js", "application" %>
</head>
<body>
<%= yield %>
<script src="http://static.ak.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"></script>
<script type="text/javascript">
FB_RequireFeatures(["XFBML"], function(){
FB.Facebook.init("my api key", "xd_receiver.htm"); });
</script>
</body>
</html>
Мой вопрос заключается в том, что мне не хватает, что не позволяет Facebook подключиться к моей машине для разработки рельсов, когда я устанавливаю метод рендера canvas на iframe? Поскольку мой журнал разработки не показывает никаких попыток соединения, я предполагаю, что это как-то связано с междоменными вещами, но я не могу найти хорошего ответа об этом нигде.
3 ответа
Если вы поместите этот файл в /public, важно отметить, что ERB, содержащийся в шаблоне, не будет проанализирован, как вы ожидали. Я не слишком знаком с плагином, который вы пытаетесь использовать, но использовал гем Facebooker ( http://facebooker.rubyforge.org/), который обеспечивает удобный способ взаимодействия с API REST Facebook.
Я настоятельно рекомендую использовать Facebooker с самого начала. Это сэкономит вам много времени.
/xd_receiver
Есть методы Facebooker для такого рода вещей проверить это
http://blog.yangtheman.com/2009/08/23/how-to-integrate-facebook-connect-with-a-rails-app/