我有一个ActiveRecord模型Instance
,它基于数据库,但有一些非数据库属性。
一个例子是'决议'。
我需要能够设置/获取分辨率,但此属性需要自定义非db setter / getters。我在哪里放这些&我该如何构建我的模型?
我还需要能够验证通过正则表达式设置的分辨率。我可以使用validates_format_of
还是需要编写自定义验证码?
答案 0 :(得分:2)
如果您需要标准的读/写方法,可以使用attr_accessor
:
class Instance
attr_accessor :resolution
end
您也可以自己编写读写器方法:
class Instance
def resolution
@resolution
end
def resolution=(value)
@resolution = value
validate! # this will raise RecordInvalid if the validation fails
end
end