我目前正在構建一個內部分析系統,用於跟蹤訪問者在每個會話中點擊的位置,無論他們是登錄到用戶帳戶還是訪問者沒有帳戶。將用戶代理和IP添加到存儲的會話中-RecordNotSaved -Rails
我目前正在將會話保存到數據庫,這要感謝通過sessions_store.rb所做的更改,但是除了session_id之外,我正試圖弄清楚如何將UserAgent詳細信息和訪問者IP添加到會話表中。
我已經試過了幾個解決方案,但都失敗了 - 我目前的解決方案似乎是最接近的,但我一直在更新會話的屬性後,遇到一個ActiveRecord :: RecordNotSaved錯誤。
我目前使用中的應用程序控制器,過濾器之前:
before_filter :set_useragent_and_ip_in_session
def set_useragent_and_ip_in_session
if session
sess = request.session_options[:id]
@session = Session.where(session_id: sess).first
@session.update_attributes(:ip=>request.remote_ip, :user_agent=>request.user_agent)
@session.save!
else
end
end
我已經插入調試語句在我的意見,並已在撬代碼周圍的發揮 - 將@Session是有效的,並顯示@ session.user_agent正確....但是,當保存到數據庫它只是回滾。
當我使用保存!我收到一個完成422無法處理的實體在日誌中,除了以下(粘貼到要點,以節省空間): https://gist.github.com/anonymous/8019c2426334f395a5fd
謝謝!任何幫助將非常感激。