2011-01-12 17 views
7

Czy ktoś ma przykładowy kod, jak to działałoby? Wydaje się, że powinno być całkiem proste, ale dokumentacja Twilio jest rzadka w przypadku SMS/Rails.Odbieranie wiadomości tekstowej w aplikacji Rails (Twilio SMS)

Mam prosty model "post" z kolumną "body" i kolumną "from". Chcę tylko wyświetlić wiadomości SMS na liście. Najbliższy rzeczą mam do pracy było coś takiego:

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

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

Tworzy nowy post, ale „z” i wartości „ciała” są oczywiście „?”. Jak przekazać wartości SMS "Od" i "Ciało" Twilio do kontrolera szyn?

Jakieś pomysły czy szturchnięcie we właściwym kierunku? Dzięki!

Odpowiedz

7

Po prostu rozwiązany! To było tak proste, jak myślałem.

W moim pliku posts_controller.rb:

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

To skutecznie ciągnie Body i From params z Twilio. To samo można zastosować do innych parametrów (SmsMessageSid, AccountSid itd.).

Możesz zobaczyć pełną listę parametrów wysłanych z prośbą Twilio here.

+1

Trzy szybkie notatki: 1) Powinieneś stosować się do standardowych konwencji Rubiego, zwłaszcza gdy publikujesz publiczny kod (spacje wokół operatorów/etc); 2) Możesz użyć 'Post.create ()' zamiast używać dwóch oddzielnych wywołań, jeśli nie użyjesz warunku do zweryfikowania i wykonania akcji w ramach metody; 3) Używanie wielkich liter jest niewygodne - rozważ użycie małych nazw pól wejściowych. Dziękujemy za podzielenie się odpowiedzią po jej znalezieniu i witamy w StackOverflow! – coreyward

+5

Dzięki! Planuję używać metod warunkowych w ramach metod i w odniesieniu do (3) - te specyficzne, wielkimi literami symbole są wymagane do pracy z Twilio. Małe symbole nie działają - właśnie to przetestowałem. – aguynamedloren

Powiązane problemy