# encoding:utf-8 class ScaleResult < ActiveRecord::Base has_paper_trail self.table_name = "scale_result" belongs_to :wx_user belongs_to :scale_user, :foreign_key => :user_id #after_create :update_paied_time def wx_user_contact return "-" if wx_user.blank? user = wx_user.user return "-" if user.blank? contact = user.tel contact = user.email if contact.blank? contact.blank? ? "-" : contact end # 从测量结果中获取时间戳 def measurement_time return nil if result.blank? begin data = JSON.parse(result) timestamp = data['timestamp'] return nil if timestamp.blank? Time.parse(timestamp) rescue => e nil end end rails_admin do navigation_label '测量记录' parent ScaleDevice weight 2 list do filters [:wx_user,:created_at] field :id do label 'ID' end field :wx_user_id do label '微信用户ID' end field :wx_user do label '微信用户' pretty_value do bindings[:object].wx_user_contact end end field :user_id do label '称用户ID' end field :scale_user do label '称用户名' end field :result do label '测量结果' end field :measurement_time do label '测量时间' pretty_value do time = bindings[:object].measurement_time time.present? ? time.strftime('%Y-%m-%d %H:%M:%S') : '-' end sortable false end end show do field :id do label 'ID' end field :wx_user_id do label '微信用户ID' end field :wx_user do label '微信用户' pretty_value do bindings[:object].wx_user_contact end end field :user_id do label '称用户ID' end field :scale_user do label '称用户名' end field :result do label '测量结果' end field :measurement_time do label '测量时间' pretty_value do time = bindings[:object].measurement_time time.present? ? time.strftime('%Y-%m-%d %H:%M:%S') : '-' end end end edit do field :wx_user do label '微信用户' end field :scale_user do label '称用户名' end field :result do label '测量结果' end end end end