我有一个控制器,它接受来自 Twilio 的 SMS 并创建一个新事务。我的目标是我想发送一条以数字为正文的短信,然后接受来自电话号码以将其与员工记录相匹配。
应用程序/控制器/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”字段创建为空。所以我不知道我下面的红宝石的一部分是否损坏,但我相信 :employee_id 正在将 null 传递给新对象,我不确定这有什么损坏。我很乐意提供您需要的任何其他代码... :Body 和 :From 是 Twilio 传入 SMS 的参数。我已确保数据库中有一名员工,其中包含我发送的电话号码,包括带有和不带有前面“1”的变体。所以我的猜测是我的查找有问题,但我不确定。