Без учета регистра find_or_create_by_wh независимо
Я хочу быть в состоянии сделатьArtist.case_insensitive_find_or_create_by_name(artist_name)
[1] (и он работает как на sqlite, так и на postgreSQL)
Какой лучший способ сделать это? Прямо сейчас я просто добавляю метод прямо вArtist
класс (отчасти уродливо, особенно если я хочу эту функциональность в другом классе, но неважно):
def self.case_insensitive_find_or_create_by_name(name)
first(:conditions => ['UPPER(name) = UPPER(?)', name]) || create(:name => name)
end
[1]: Ну, в идеале это было быArtist.find_or_create_by_name(artist_name, :case_sensitive => false)
, но это кажется гораздо сложнее реализовать