我有一个文件名。我需要找到具有匹配file_name
属性的记录。
我的问题是文件名已被音译,这是一个单向过程。我无法取消音译文件名,所以我别无选择,只能根据记录file_name
属性的音译版本进行比较。
如果我只是比较文件名,我会这样做:
Example.where(file_name: file_name}
如果我不能音译file_name
,我会这样做:
Example.where(file_name: ActiveSupport::Inflector.untransliterate(file_name)
但我不能,所以我怎样才能有效地做相当于:
Example.all.detect do |e|
ActiveSupport::Inflector.transliterate(e.file_name) == file_name
end