从关联模型中删除 CarrierWave 文件
Remove CarrierWave file from associated model
通过关联模型删除附件的正确方法是什么?
我有一个 Profile.rb 模型,has_one
Will.rb 模型。遗嘱通过与个人资料相同的形式进行编辑。我可以使用 :will_attachment
字段附加文件,但尝试使用 :remove_will_attachment
复选框不起作用。
Params结构如下:
"portfolio" =>
{"will_attributes" =>
{"remove_will_attachment"
}
}
我在允许的参数方法中确实有 :will_attachment
和 :remove_will_attachment
。
我目前必须通过检查参数中的 remove_will_attachment == "1"
并手动调用 @portfolio.will.remove_will_attachment!
来删除附件,但似乎应该有更流畅的方法来执行此操作。
我错过了什么吗?谢谢!
这是 CarrierWave 中的一个错误,已在 master 分支 上解决。出于某种原因,如果仅设置了 remove_#{column}
属性访问器,它不会删除上传的文件。
在 CarrierWave 0.10 中,这将不起作用
"portfolio" =>
{"will_attributes" =>
{"remove_will_attachment" => true
}
}
这将
"portfolio" =>
{"will_attributes" =>
{"remove_will_attachment" => true,
"another_attribute" => "CHANGED VALUE"
}
}
通过关联模型删除附件的正确方法是什么?
我有一个 Profile.rb 模型,has_one
Will.rb 模型。遗嘱通过与个人资料相同的形式进行编辑。我可以使用 :will_attachment
字段附加文件,但尝试使用 :remove_will_attachment
复选框不起作用。
Params结构如下:
"portfolio" =>
{"will_attributes" =>
{"remove_will_attachment"
}
}
我在允许的参数方法中确实有 :will_attachment
和 :remove_will_attachment
。
我目前必须通过检查参数中的 remove_will_attachment == "1"
并手动调用 @portfolio.will.remove_will_attachment!
来删除附件,但似乎应该有更流畅的方法来执行此操作。
我错过了什么吗?谢谢!
这是 CarrierWave 中的一个错误,已在 master 分支 上解决。出于某种原因,如果仅设置了 remove_#{column}
属性访问器,它不会删除上传的文件。
在 CarrierWave 0.10 中,这将不起作用
"portfolio" =>
{"will_attributes" =>
{"remove_will_attachment" => true
}
}
这将
"portfolio" =>
{"will_attributes" =>
{"remove_will_attachment" => true,
"another_attribute" => "CHANGED VALUE"
}
}