ruby-on-rails - rails 实现删除的属性

标签 ruby-on-rails scope

我有一个包含很多联系人的表单。我希望能够删除联系人而不是真正删除它们,而是将它们标记为已删除。我在我的联系人表中添加了一个属性“已删除”。

在大多数情况下,我想要一个表单联系人,我只想要那些没有被删除的联系人:

form.contacts.find_all_by_deleted(false)

这看起来很乱,所以我想到了 named_scope 或 default_scope,但很多人似乎都说它们是邪恶的。

我还想过将表单上的关系更改为(这与默认范围相同吗?这是邪恶的吗?):

has_many :contacts, :conditions => ["deleted = false"]

在我的管理 View 中,我需要能够看到所有联系人。我想我可以从添加表单 ID 的联系人端进行查找。

这似乎是人们会大量实现的事情,并且必须就最佳实践达成一致。

任何解决方案都必须在 Rails 2 中工作,并且不能在 Rails 3 中过时。最好不要使用插件或 gem。

最佳答案

你表现得像个偏执狂:-) http://ar-paranoid.rubyforge.org/

关于ruby-on-rails - rails 实现删除的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4109422/

相关文章:

javascript - NodeJS MongoDB 游标 toArray 回调函数不会对父范围变量进行更改

ruby-on-rails - Rails 将验证放在模块混合中?

ruby-on-rails - 获取最后插入值的快捷方式。 rails

jquery - jQuery 对 ruby​​ on Rails 中的部分数据执行的默认操作

ruby-on-rails - 找不到 gem rails

java - Java错误 “cannot find symbol - variable”

ruby-on-rails - 为什么 x-editable-rails gem 抛出错误 : undefined method `xeditable?' ?

objective-c - 用其他类型重新定义变量名

ruby-on-rails - Rails 范围 : association is nil

javascript - 以函数作为对象成员的闭包