通过相关模型删除附件的正确方法是什么?
我有一个has_one
Will.rb模型的Profile.rb模型。将通过与配置文件相同的表单编辑遗嘱。我可以使用:will_attachment
字段附加文件,但尝试使用:remove_will_attachment
复选框不起作用。
Params结构如下:
"portfolio" =>
{"will_attributes" =>
{"remove_will_attachment"
}
}
我在允许的params方法中有:will_attachment
和:remove_will_attachment
。
我目前不得不通过检查参数中的remove_will_attachment == "1"
并手动调用@portfolio.will.remove_will_attachment!
来删除附件,但似乎应该采用更顺畅的方式来执行此操作。
我错过了什么吗?谢谢!
答案 0 :(得分:1)
CarrierWave中的一个错误是在主分支上解决。有一个原因,如果只设置了remove_#{column}
属性访问器,它就不会删除上传的文件。
在CarrierWave 0.10中,这不起作用
"portfolio" =>
{"will_attributes" =>
{"remove_will_attachment" => true
}
}
这将
"portfolio" =>
{"will_attributes" =>
{"remove_will_attachment" => true,
"another_attribute" => "CHANGED VALUE"
}
}