0

我有一个包含评论的数据库。在模型文件中,我声明了一条评论

belongs_to :user

并且在数据库中有一个 user_id 字段与它所属的用户相关联。现在,当删除评论时,我想删除评论的值并将其保留为“此消息已被删除”,而不是实际销毁条目。但是,似乎我无法通过 rails 将 user_id 字段设置为 nil。我试过了

@comment.user_id = nil
@comment.save

@comment.user = nil
@comment.save

但两者都不起作用。解决办法是什么?

4

1 回答 1

1

如果您在创建评论时使用 gem,则会对 gem 代码进行验证。您始终可以通过 sql 更新来绕过这些验证。要么绕过验证@comment.save(validate: false),要么使用 sql 更新@comment.update_column :user_id, nil

于 2013-01-31T10:25:38.683 回答