2

我不确定在我的情况下最好的方法是什么,我想提出意见。

我的情况是:

我有一个“ Ticket”模型,有多种字段:文本、数字和关联。门票支持通过acts_as_commentablegem 发表评论。

tickets用户生成,用户可以评论和修改自己的工单。

因为 a 的字段ticket会随着时间而改变,所以我想允许我的用户修改其中的几个。我需要的是保留所有更改的注释历史记录,以便他们随时可以在票证中看到更改的内容、原因和时间,在注释、时间戳和更改列表中,他们可以与评论。

我想通过生成一个“ TicketUpdate”模型来解决这个问题,在评论表单中生成 TicketUpdates(使用fields_forand accepts_nested_attributes_for)。

基本上,用户可以在下拉列表(即select标签)中选择他们想要更改的字段,更改下拉列表的值将触发一个事件以显示适当的输入字段(input对于文本和数字字段,select对于关联) 预填充旧值

我可以拦截执行更新TicketUpdates的“ comment/create”控制器中的。

这种方法对用户来说看起来不错,但我看不出如何以简洁或干燥的方式实现。因为工单有很多字段并且它们是混合的小数和关联,所以我必须在视图和控制器中为每个字段实现特定的逻辑。

我不确定是否有更好的方法,或者实际上有任何宝石或技巧可以轻松完成这项工作。

有人在这里推荐我吗?

我正在使用导轨 3.2.8。

4

0 回答 0