1

这是我的问题。我有一个附加头像的用户模型。该模型有许多个人照片(带有accepts_nested_attributes_for)。

我希望能够在保存用户对象后自动初始化个人照片,无论用户头像是什么。假设 Bob 上传了他的头像,bob 将自动从头像图像生成一张个人照片(具有正确的不同回形针样式)。

我真的不知道该怎么做。我会将它放在我的控制器中还是用户模型中的 after_save 钩子中?我正在使用带有数据库存储的回形针,所以如果在保存过程中以某种方式初始化它会很好,所以我不必将它拉回来......也许我可以使用隐藏的表单字段?

4

1 回答 1

0

老实说...我不确定我是否会推荐这种做法。许多人上传的头像不是照片。如果你这样做,当然你应该让用户选择删除照片而不同时删除他们的头像。这意味着您需要复制附件。为此,您必须挂钩after_avatar_post_process回调。在此回调中,创建一个新的个人照片对象。在照片模型的photo附件上,调用类似personal_photo.photo.assign(avatar.path). 我认为这应该可行,但我还没有尝试过。我主要担心的是该assign调用可能不会为附件创建新位置。我认为确实如此,但我不能完全确定。至少,它接近您需要做的事情,并且应该让您朝着正确的方向前进。

于 2009-10-29T23:03:00.777 回答