class Topic < ApplicationRecord attribute :uid, :string, default: <默认为id加密> end
一般可以这样赋值一个静态值,但是我打算赋一个与 topic 的数据中相关的值,因为并不打算把 uid 存入数据库。
列如: Topic.new => id : nil, uid: nil
Topic.first => id: 1, uid: Digest::MD5.hexdigest(1)
想知道,可以从那个地方入手?
default 参数是支持块的,可以用块传动态值:
attribute :uid, :string, default: proc { Digest::MD5.hexdigest(1) }