Twilio から SMS を受け取り、新しいトランザクションを作成するコントローラーがあります。私の目標は、本文に番号を含むテキスト メッセージを送信し、送信者の電話番号を受け入れて従業員レコードと照合することです。
app/controllers/twilio_controller.rb
class TwilioController < ApplicationController
def process_sms
@city = params[:FromCity].capitalize
@state = params[:FromState]
render 'process_sms.xml.erb', :content_type => 'text/xml'
end
def create
phone_number = params[:From][/\d+/]
employee = Employee.where(phone: phone_number).first
if employee
@transaction = Transaction.new(:item_id => params[:Body], :employee_id => employee, :status => true)
@transaction.save
end
end
end
しかし、問題は、テキストを送信すると、トランザクション レコードが作成されますが、'employee_id' フィールドが null として作成されることです。したがって、以下のルビの一部が壊れているかどうかはわかりませんが、:employee_id が新しいオブジェクトに null を渡していると信じており、これについて何が壊れているのかわかりません。他に必要なコードがあれば喜んで提供します... :Body と :From は、Twilio の着信 SMS のパラメーターです。送信元の電話番号を持つ従業員がデータベースにいることを確認しました。これには、前に「1」がある場合とない場合があります。私の推測では、ルックアップに何か問題があると思いますが、よくわかりません。