2014-09-03 3 views
1

Im пытаясь вызвать send_text метод из моего sendtextcontroller:Как вызвать метод после создания нового экземпляра класса?

require 'twilio-ruby' 

class SendtextController < ApplicationController 
    def index 
    end 


def send_text_message 
    number_to_send_to = current_user.cell_phone 

    account_sid = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" 
    auth_token = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" 
    twilio_phone_number = "(954)-333-3333" 

     @client = Twilio::REST::Client.new account_sid, auth_token 
    @twilio_client.account.sms.messages.create(
     :from => "+1#{twilio_phone_number}", 
     :to => number_to_send_to 
     :body => "Your bill has been added") 
    end 
end 

В моей Billscontroller после того, как я создать новый счет:

class BillsController < ApplicationController 
    before_action :set_bill, only: [:show, :edit, :update, :destroy] 


    def create 
    @bill = Bill.new(bill_params) 
    #sets new bill equal to the id of the current user signed in. 
    @bill.user_id = current_user.id 


    respond_to do |format| 
     if @bill.save 
     format.html { redirect_to @bill, notice: 'Bill was successfully created.' } 
     format.json { render :show, status: :created, location: @bill } 

     else 
     format.html { render :new } 
     format.json { render json: @bill.errors, status: :unprocessable_entity } 
     end 
    end 
    end 
end 

Ive пытался называть send_text_message в разных местах по всему методу создания в Billscontroller и не повезло, когда я создаю новый счет на моем localhost. Какие-либо предложения? Что я делаю не так? Заранее спасибо.

+0

Вы уверены, что хотите обработчик SendTextMessage, а не только вспомогательный метод или какой-либо другой тип класса для обработки отправки текстового сообщения? –

+0

Im не совсем уверен, нет ... Twilio говорит вам создать этот контроллер для отправки отправляемых SMS. Не думайте, что это необходимо, хотя ... Что вы предлагаете? – Joel

+0

Мне кажется, что вы пытаетесь объединить функции двух контроллеров. –

ответ

2

В Twilio есть прецеденты, в которых вы хотите создать контроллеры для использования их REST API. Это в основном связано с тем, как логика логистики выложена в отношении их примерных приложений. В этом случае, пока вы загрузили twilio gem, вы можете просто создать вспомогательный метод в своем контроллере и вызвать send_text_message из вашего BillsController. Все эти драгоценные камни предоставляют вам обертку, чтобы вы могли выполнить запросы GET/POST на свои серверы.

Пожалуйста, дайте мне знать, если у вас есть вопросы!

+0

Эй, спасибо за ответ. Поэтому я бы создал вспомогательный метод в моем контроллере приложений? – Joel

+0

Да, просто создайте вспомогательный метод в контроллере. Пожалуйста, дайте мне знать, если у вас есть другие вопросы! –

Смежные вопросы