ファイル名があります。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