2011-01-12 9 views
0

Ich erstelle eine Anwendung, wo ich eine private Nachricht an einen Benutzer senden und ihn/sie für eine Bestätigung fragen muss, ob sie beitreten möchten oder nicht. Ich habe eine private Nachricht Modul erstellt und wenn ich eine Nachricht senden wollen, ich tue so etwas wie:Message Module + Umgang mit Links für private Nachrichten + Schienen

def sendMessage(attributes) 
    subject = 'whatever' 
    body = 'whatever' 
    current_user.sendMessage(current_user, subject, body)  
end 

Dann bekomme ich diese Meldung und drucken Sie es aus, um den benötigten Stellen mit <% = h%> um Dinge zu entkommen. Mein Problem ist jetzt, was passiert, wenn ich
's oder noch wichtiger <% = link_to%> darin einschließen will?

Wie kann ich solche Dinge zum Ausdrucken einfügen und auch vorsichtig sein, um die vom Benutzer bereitgestellten Attribute zu umgehen? Ich dachte daran, etwas wie eine Partielle zu schaffen, um das für mich zu tun, aber ich würde sicherlich gerne hören, was Sie darüber denken.

Danke :)

Antwort

0

First off, haben Sie wahrscheinlich Ihre Methode send_message nennen sollte, da, dass die Konvention in Ruby und Rails zu sein scheint.

Für die Frage, warum dies nicht tun:

<p><%=h user_submitted_info %> and check out this <%= link_to "Awesome Link", "/" %></p> 

Dies wird den Benutzer bereitgestellte Inhalte entkommen, aber die link_to allein lassen. Warum hat der Nutzer Inhalte eingereicht und der Link muss sich in den gleichen ERB-Tags befinden?

+0

Derzeit verwende ich keine Erb-Vorlagen. Ich erhalte nur den in der Funktion bereitgestellten Text und drucke ihn bei Bedarf in einer anderen Vorlage aus. Da es in einer einzelnen Nachricht gedruckt wird, ist die Aktion wie viewSingleMessage und ist für das Drucken einer Nachricht verantwortlich. Der Umgang mit diesen Daten von innen ist also keine Option. Dies druckt nur Körper und Thema, die von sendMessage bereitgestellt werden. – Spyros

+0

Ich glaube nicht, dass ich das verstehe. Wenn Sie Dinge wie <%=h %> verwenden, verwenden Sie erb. –

+0

Ich benutze es wie <% = h @content%>. Ich kann nicht explizit einen <% = link_to "Awesome Link", "/"%> in meinem Fall machen. Der @ content muss etwas wie "<% = link_to" Awesome Link ","/"%>" sein. Ich frage, wie das geht. – Spyros

Verwandte Themen