J'ai un contrôleur qui accepte un SMS de Twilio et crée une nouvelle transaction. Mon objectif est que je souhaite envoyer un message texte dont le corps est un numéro, puis accepte le numéro de téléphone pour le faire correspondre à un enregistrement d'employé.Enregistrement Twilio Créer un contrôleur, sans succès
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
Mais le problème est que lorsque j'envoie un texte, il crée l'enregistrement des transactions, mais crée le champ « employee_id » comme nul. Donc, je ne sais pas si une partie de mon ruby ci-dessous est cassée, mais je crois que: employee_id passe null au nouvel objet et je ne suis pas sûr de ce qui est cassé à ce sujet. Je serais heureux de fournir d'autres éléments de code dont vous auriez besoin ...: Body et: From sont les paramètres des SMS entrants de Twilio. Je me suis assuré que j'ai un employé dans la base de données avec le numéro de téléphone que j'envoie, y compris les variations avec et sans «1». Donc, je suppose qu'il y a quelque chose qui ne va pas avec ma recherche, mais je ne suis pas sûr.