我遇到了一个问题,无法弄清楚如何修复它。
我基本上有一个ModelA与另一个ModelB有一个has_many关系。假设ModelB有两个属性。一个created_at
和一个filename
。现在让我们说created_at
由于竞争条件而实际上并不准确。但是filename
包含准确的时间戳。不幸的是,文件名也不一致,预先提取和添加时间戳不是一种选择。
有没有办法做这样的事情?
class ModelA
has_many: model_bs, order: extracted_timestamp_from_filename.asc
def extracted_timestamp_from_filename
#self would ideally be a single model_bs
extract_timestamp_from_filename(self.filename)
end
end
至少使用order
我认为如果没有实际的正确时间戳属性,这可能无法正常工作。有没有办法获得这个功能?如果有办法用钩子以某种方式做到这一点我还没找到它。
答案 0 :(得分:0)
这不是一个真正的修复,但事实证明,带有MongoDB的Rails实际上能够按字符串排序,而且我的示例中的文件可以像这样排序。但是,如果文件名具有不同的格式,则仍然无效。在我的例子中,我想我现在就侥幸逃脱。
感谢。