Я использую apn_on_rails
для отправки push-уведомлений в приложении rails 3.0.9. Вот так:
gem 'apn_on_rails', :git => 'https://github.com/natescherer/apn_on_rails.git', :branch => 'rails3'
У меня есть следующий метод регистрации токенов устройства:
# POST /iphones/register_device_token.json
def register_device_token
@iphone = Iphone.find_or_create_by_unique_identifier(params[:unique_identifier])
device = APN::Device.find_or_create_by_token(params[:device_token])
logger.fatal "APN Device ID: #{device.id}"
logger.fatal "APN Device token: #{device.token}"
@iphone.apn_device_id = device.id
respond_to do |format|
if @iphone.save
format.json { render :json => @iphone, :status => :created, :location => @iphone }
else
format.json { render :json => @iphone.errors, :status => :unprocessable_entity }
end
end
end
Отлично работает в разработке, используя sqlite3
, но в производстве, используя mysql
, device.id
возвращает NULL
Обе базы данных перенесены в последнюю версию. Я понятия не имею, почему это происходит, и любой совет о том, как поступить, очень ценится.