jsw: 开发 health-logs 功能
家人的健康日志,部分人可见
需求
健康日志:
health-logs
name/date/event_content
与 gpt
对话
- 我想设计一个功能名为
health_logs
(主要是给我和我的家人使用,总人数4-10个人) - 字段如下
- 使用人的名字,这个可以存成单独的表(使用者基本信息) 这个取名为 family_user 吧,区别于普通的user
- 记录日期(具体的时间)
- 记录相关事件的标题,如:便血,鲜红色无其它症状
- 内容(比如说身体不适),医疗记录等,还有存档资料放在哪里(一般是有微云链接的)
- 相关图片(以pids方式存储)
- 使用 ruby on rails 实现
- 其它: ref_links/tags 等
建立 Model
rails generate model FamilyUser name:string
rails generate model HealthLog family_user:references date:datetime title:string content:text image_pids:text
实际 HealthLog
class HealthLog < ApplicationRecord
belongs_to :family_user
serialize :image_pids, Array
validates :family_user, presence: true
validates :date, presence: true
validates :title, presence: true
validates :content, presence: true
validate :validate_image_pids
private
def validate_image_pids
image_pids.each do |pid|
unless valid_pid?(pid)
errors.add(:image_pids, "包含无效的pid: #{pid}")
end
end
end
def valid_pid?(pid)
pid.is_a?(String) && pid.length == 32 # 简单验证长度为32的字符串
end
end
实际 FamilyUser
class FamilyUser < ApplicationRecord
has_many :health_logs, dependent: :destroy
validates :name, presence: true
end
添加 ref_links
添加 tags