Ruby on rails 根据attar_accessor设置的字段销毁嵌入的文档
我的rails应用程序中定义了以下类:Ruby on rails 根据attar_accessor设置的字段销毁嵌入的文档,ruby-on-rails,ruby,mongoid,Ruby On Rails,Ruby,Mongoid,我的rails应用程序中定义了以下类: class Letter embeds_many :dispatches def evaluate self.dispatches.destroy_all(marked: true) end end class Dispatch embedded_in :letter attr_accessor :marked end 在我的程序执行期间,一些调度将被标记,也就是说,我将把marked属性设置
class Letter
embeds_many :dispatches
def evaluate
self.dispatches.destroy_all(marked: true)
end
end
class Dispatch
embedded_in :letter
attr_accessor :marked
end
在我的程序执行期间,一些调度将被标记,也就是说,我将把marked属性设置为true
当我在信件实例上调用evaluate方法时,我希望嵌入在这封信中的标记分派被销毁。但是什么也没发生
是否可以将attr\u accessor创建的属性传递给destroy\u all方法?为什么要使用attr\u accessor:marked而不是field:marked?attr_访问器不会给您持久值。主要是因为我不需要将该值持久化到数据库。其中一些项目将被标记,并在从数据库中销毁后立即进行标记,所以我认为没有必要将此字段存储在数据库中。最后,我可能没有其他选择,但我真的很想知道是否有可能这样做,这是否是一个良好的做法与否。谢谢,很公平。你能在某处保留一份ID列表而不是标记它们吗?或者手动查看列表以找到标记的调度并以这种方式获取它们?感谢您的回复。我必须同意,这两个方案都是可行的,而且可以在没有实质困难的情况下实施。我想这是不可能的。