2010-11-22 7 views
0

Ich versuche, eine Erb-Vorlage in einem Facebook-Seitenregister anzuzeigen. Mit Wordpress gelingt mir das erfolgreich, aber mit Rails bekomme ich diesen Fehler.Kann ich eine erb-Vorlage in der Facebook-Registerkarte anzeigen?

FBML Fehler: illegal Stichwort "Körper" unter "fb: tab-Position"

Die Ausgabe von Wordpress und Schienen sind genau ähnlich. Sie erzeugen den gleichen HTML-Code. Während bei WordPress der Inhalt in Tabs angezeigt wird, wird bei Rails ein Fehler ausgegeben.

Hat jemand erfolgreich eine Facebook App mit Seiten Tabs mit Rails implementiert.

Antwort

0

Wie die Fehlermeldung sagt, können Sie in einer Registerkarte kein "body" -Tag haben. Sind Sie 100% sicher, dass die Rails-Ausgabe es nicht irgendwie hat?

Grundsätzlich müssen Sie Facebook eine abgespeckte HTML liefern, da sie ihre eigenen "Kopf" und "Körper" -Tags haben.

+0

In der Seitenquelle befinden sich keine html- und body-Tags. – Jagira

+0

Beim Versuch, diese URL zu laden, wird ein Serverfehler angezeigt. Eine andere Möglichkeit, kann es sein, dass irgendwo irgendwo Caching stattfindet, wo du es nicht haben möchtest? – dain

+0

Ich bekomme auch den Serverfehler. –

2

Wird Ihre Vorlage mit einem Layout gerendert? Normalerweise würde das Layout Kopf- und Körper-Tags haben, die Sie nicht in Ihrem Facebook-Inhalt haben wollen, da es im Kontext einer Seite (Facebook) ist, die bereits den Kopf und den Körper definiert. Um eine Seite ohne Layout zu rendern, übergeben Sie die Option: layout => false an Ihren Render-Aufruf.

+1

+1, wusste nicht über: Layout => falsche Option, handlich :) – dain

+0

Auch wenn ich nicht Layout rendern, hat die gerenderte Seite Körper und Kopf-Tags. Dieses Ding macht mich verrückt. – Jagira

+0

Probieren Sie einen wirklich einfachen Test aus: Sagen Sie anstelle des Renderings der Vorlage "render: text =>" foo ":: layout => false". Dies sollte nur das Wort "foo" und nichts anderes senden. –

1

Sie erhalten am ehesten einen Fehler und das Body-Tag wird von der 500.html oder der 404.html kommen.

Ich versuchte eine Million Dinge und ich fand, dass ich einen ungültigen Authentizitätstoken hatte. Um zu sehen, ob dies Ihr Problem ist, versuchen Sie Folgendes:

skip_before_filter :verify_authenticity_token 

In Ihrem Controller, der die Ansicht rendert.

Verwandte Themen