2011-01-12 3 views
7

Hat jemand eine Beispiel-Code auf, wie das funktionieren würde? Scheint so, als ob es ziemlich einfach sein sollte, aber die Twilio-Dokumentation ist spärlich für SMS/Rails.Empfangen einer SMS-Nachricht in Rails-Anwendung (Twilio SMS)

Ich habe ein einfaches „post“ Modell mit einer „Körper“ Spalte und Spalte „von“. Ich möchte nur die SMS-Nachrichten in einer Liste anzeigen. Das nächste, was ich zur Arbeit bekam, war so etwas wie diese:

#posts_controller.rb 
class PostsController < ApplicationController 
def new 
    @post = Post.new(:body=>"?",:from=>"?") 
    @post.save 
end 
end 

#twilio sms url: ...myappurl/posts/new 

Dies schafft einen neuen Beitrag, aber die ‚von‘ und ‚Körper‘ Werte sind natürlich „?“. Wie übertrage ich die Twilio SMS 'From' und 'Body' Werte in den Rails Controller?

Irgendwelche Ideen oder ein Schubs in die richtige Richtung? Vielen Dank!

Antwort

7

einfach gelöst es! Es war so einfach wie ich dachte.

In meiner posts_controller.rb Datei:

def twilio_create 
    @post = Post.new(:body => params[:Body], :from => params[:From]) 
    @post.save 
end 

Dies zieht effektiv die Body und From params von Twilio. Das Gleiche gilt für andere Parameter (SmsMessageSid, AccountSid, usw.).

Sie können die vollständige Liste der Parameter finden Sie mit here Twilio Gesendete Anfrage.

+1

Drei schnelle Notizen: 1) Sie Standard-Ruby-Konventionen einhalten sollten, vor allem beim Verfassen eines Beitrags öffentlichen Code (Räume um Betreiber/etc); 2) Sie können 'Post.create ()' anstelle von zwei separaten Aufrufen verwenden, wenn Sie keine Bedingung verwenden, um eine Aktion innerhalb der Methode zu überprüfen und auszuführen; 3) Die Verwendung von großgeschriebenen Symbolen ist umständlich - ziehen Sie in Betracht, kleingeschriebene Eingabefeldnamen zu verwenden. Vielen Dank für Ihre Antwort, sobald Sie sie gefunden haben, und willkommen bei StackOverflow! – coreyward

+5

Danke! Ich plane die Verwendung von Bedingungen innerhalb der Methoden, und in Bezug auf (3) - diese spezifischen kapitalisierten Symbole sind erforderlich, um mit Twilio zu arbeiten. Kleinbuchstaben funktionieren nicht - ich habe es gerade getestet. – aguynamedloren