URL обратного вызова работает локально, но не удаленно на Heroku - PullRequest
0 голосов
/ 15 сентября 2011

У меня есть URL-адрес обратного вызова, который обозначен в MessagesController следующим образом:

def message_create
  message = Message.new( :message => params[:PAYLOAD], 
                       :recipient => params[:DEST_ADDR], 
                       :api_message_id => params[:MSG_ID], 
                       :from => params[:SRC_ADDR], 
                       :api_timestamp => params[:DATETIME], 
                       :network => params[:NETWORK],
                       :origin => "sms")

  message.save
  redirect_to message
end

Когда я запускаю свое приложение локально, этот URL обратного вызова работает просто отлично:

http://localhost:3000/message_create?PAYLOAD=asdfasdf&DEST_ADDR=234523&MSG_ID=23452345&SRC_ADDR=24345234234&DATETIME=20110915130534&NETWORK=blah

Однако, когда я нажимаю приложение на heroku и ввожу тот же URL обратного вызова:

http://myapp.heroku.com/message_create?PAYLOAD=asdfasdf&DEST_ADDR=234523&MSG_ID=23452345&SRC_ADDR=24345234234&DATETIME=20110915130534&NETWORK=blah

Это просто дает мне ошибку. Я выяснил, связано ли это с:

before_filter :authenticate 

строка в моем контроллере, но даже когда она закомментирована, данные просто не будут отправляться в удаленную БД. Ваши мысли и опыт очень ценятся.

UPDATE:

Только что выяснил, как получить доступ к полному журналу на Heroku. Похоже, проблема может быть связана с тем, что целое число недостаточно велико в Heroku по умолчанию:

2011-09-15T13:25:28+00:00 app[web.1]: Started GET "/message_create?PAYLOAD=asdfasdf&DEST_ADDR=234523&MSG_ID=23452345&SRC_ADDR=24345234234&DATETIME=20110915130534&NETWORK=blah" for 80.46.10.63 at 2011-09-15 06:25:28 -0700
2011-09-15T13:25:28+00:00 app[web.1]:   Processing by MessagesController#message_create as HTML
2011-09-15T13:25:28+00:00 app[web.1]:   Parameters: {"PAYLOAD"=>"asdfasdf", "DEST_ADDR"=>"234523", "MSG_ID"=>"23452345", "SRC_ADDR"=>"24345234234", "DATETIME"=>"20110915130534", "NETWORK"=>"blah"}
2011-09-15T13:25:28+00:00 app[web.1]: Completed   in 10ms
2011-09-15T13:25:28+00:00 app[web.1]: 
2011-09-15T13:25:28+00:00 app[web.1]: ActiveRecord::StatementInvalid (PGError: ERROR:  integer out of range
2011-09-15T13:25:28+00:00 app[web.1]: : INSERT INTO "messages" ("message", "created_at", "updated_at", "recipient", "api_message_id", "from", "origin", "timestamps", "user_id", "status", "api_timestamp", "network", "group_id") VALUES ('asdfasdf', '2011-09-15 13:25:28.650894', '2011-09-15 13:25:28.650894', 234523, 23452345, 24345234234, 'sms', NULL, NULL, NULL, '2011-09-15 13:05:34.000000', 'blah', NULL) RETURNING "id"):
2011-09-15T13:25:28+00:00 app[web.1]:   app/controllers/messages_controller.rb:48:in `message_create'
2011-09-15T13:25:28+00:00 app[web.1]: 
2011-09-15T13:25:28+00:00 app[web.1]: 
2011-09-15T13:25:28+00:00 heroku[router]: GET www.myherokuapp.com/message_create dyno=web.1 queue=0 wait=0ms service=14ms status=500 bytes=728
2011-09-15T13:25:28+00:00 heroku[nginx]: 80.46.10.63 - - [15/Sep/2011:06:25:28 -0700] "GET /message_create?PAYLOAD=asdfasdf&DEST_ADDR=234523&MSG_ID=23452345&SRC_ADDR=24345234234&DATETIME=20110915130534&NETWORK=blah HTTP/1.1" 500 728 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.12 Safari/535.2" www.myherokuapp.com

1 Ответ

0 голосов
/ 15 сентября 2011

Да, похоже на ошибку типа данных. Какие типы данных вы задали для своих полей при переносе таблицы сообщений?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...