1
我使用apn_on_rails
在Rails 3.0.9應用程序中發送推送通知。像這樣:`device.id`在生產中返回NULL,但在開發中正常工作
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
。兩個數據庫都被遷移到最新版本。我不知道爲什麼會發生這種情況,任何關於如何進行的建議都非常感謝。
從SQLite3(不是SQL)和其他任何dbms切換出現問題真的很常見。 MySQL有一個免費版本。下載並使用它代替SQLite。同時,查看發送到服務器的SQL,直接運行它(使用MySQL Workbench或命令行工具)。如果仍然無法弄清楚,請編輯您的問題並粘貼SQL DDL,樣本INSERT語句,然後查詢欄試圖使用。 –