我在轨道上遇到ruby和ruby的新手,并且无法设置Twilio来发送短信。
到目前为止,我的rails应用程序中有以下代码:当我发送短信时,我收到以下错误:
Missing template twilio/send_text_message, application/send_text_message with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :slim, :coffee, :haml]}.
我的初始化程序
#config/initializers/twilio.rb (removed keys)
require 'twilio-ruby'
account_sid = "XXXXXXXXX"
auth_token = "XXXXXXX"
$twilio_phone_number = "+XXXXXXXXXX"
$twilio_client = Twilio::REST::Client.new account_sid, auth_token
然后添加到路线
#routes.rb
post 'twilio/send_text_message' => 'twilio#send_text_message'
然后我有我的twilio控制器
#twilioController
class TwilioController < ApplicationController
def index
end
def send_text_message
end
end
在我看来,我已经为用户设置了一个表单,用于输入发送到我手机的消息(因为我处于试用模式且已经过验证)
#ShareWithWorld.html.slim
= form_for :twilio, url: '/twilio/send_text', method: :post do |f|
=f.text_field "Hey"
=f.submit "Send Text"
答案 0 :(得分:4)
您收到该错误的原因是您无法渲染,例如app/views/twilio/send_text_message.html.slim
。
如果代码在没有中断的情况下结束操作,它将尝试渲染关联的视图。
class TwilioController < ApplicationController
def send_text_message
$twilio_client.account.messages.create(
:from => '+14159341234',
:to => '+16105557069',
:body => ..params from form..
)
redirect_to root_path, notice: 'Your SMS has been sent' # This is the interrupt that will make it so it doesn't try to render the view
end
end