0

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」がある場合とない場合があります。私の推測では、ルックアップに何か問題があると思いますが、よくわかりません。

4

2 に答える 2

0

次のようにして終了しました:

@transaction = Transaction.new(:item_id => item[:id], :employee_id => employee[:id], :status => item_status)
于 2013-06-13T16:57:55.400 に答える