2016-07-14 3 views
0

これは非常に簡単なはずですが、私はスーパーニューバです。基本的には、電話番号のフォームフィールドを持つWebサイトがあり、ユーザーがタップすると電話番号にメッセージが送信されます。 (Twilioを使って)ajaxを介して変数をルビスクリプトに投稿するにはどうすればよいですか?

のjavascript:

$("#phoneNumberButton").click(function(){ 
console.log($("#styled").val()); 

var phoneNumberString = $("#styled").val(); 
phoneNumberString = phoneNumberString.replace(/\D/g,''); 
if (phoneNumberString.length != 10) { 
    $('#styled').tooltipster('show'); 
} else { 
$('#phoneNumberButton').text('Link sent!'); 
$.post('_/ruby/TwilioSend.rb', {'phoneNumber': phoneNumberString}); 

ルビー( '_ /ルビー/ TwilioSend.rb):

require 'twilio-ruby' 

account_sid = "xxxx" 
auth_token = "yyyy" 

@client = Twilio::REST::Client.new account_sid, auth_token 
message = @client.account.messages.create(:body => "Hello from Ruby", 
:to => params[:phoneNumber], # Replace with your phone number 
:from => "+15555555555") # Replace with your Twilio number 

puts message.sid 

ルビーファイルは静的で、私はターミナルでそれを実行したときに動作します':to'変数。しかし、私は彼らが一緒に働くことはできません。私が間違っていることを教えてくれますか?私は多くのことがあると確信しています... fyi、それはすべて私たちが使用するルビーです。他のルビファイルはありません。 PHPが私たちにとって問題を引き起こしていました。

答えて

0

Twilioにコールを発信するコードは、Railsコントローラ内にある必要があります。コントローラーには、関連するルートがあります。例:

# controllers/messages_controller.rb 
class MessagesController < ApplicationController 
    def create 
    client = Twilio::REST::Client.new(account_sid, auth_token) 
    message = client.account.messages.create(:body => "Hello from Ruby", :to => params[:phoneNumber], :from => "+15555555555") 

    render :json => { :sid => message.sid } 
    end 
end 

# config/routes.rb 
... 
resources :messages 
+0

こんにちは。ありがとうございました!私は間違いなくそれを試みます。あなたが関連するルートを言うとき、私はレールプロジェクト全体をセットアップするつもりですか?または、routes.rb投稿 '_/ruby​​/messages_controller.rb'を作成するだけです: 'messages_controller#create'? –

+0

AJAXからリクエストを受け取るには、何らかの種類のWebフレームワークが必要です。 Sinatraのようなもっと小さなものを使うこともできます。それらのフレームワークを調べて、あなたが考えるものを見る必要があります。 – philnash

関連する問題