我试图创建一个ActiveRecord模型,其中CarrierWave以只读方式使用,即用户使用文件创建记录,并且在创建记录后无法更改文件。
我已尝试在模型中将属性设置为attr_readonly
,但在RSpec中测试时,它显示该字段仍然可以更改(具体而言,{{1}的比较}表明如果我试图上传新文件,文件的位置会改变。我还研究了使用验证来检查编辑操作中的文件参数是否与模型中的文件字段匹配的可能性,但这似乎也没有成功。
@myclass.file.url
我对此课程的迁移如下:
class MyClass < ActiveRecord::Base
mount_uploader :file, MyClassUploader
attr_readonly :file
validates :title, presence: true
validates :description, presence: true
validates :file, presence: true
end
如何确保创建模型后,文件组件无法更改,但所有其他字段都可以?