Вот мой производственный код (мне пришлось форсировать разрывы строк):
task = Task.find_or_create_by_username_and_timestamp_and_des \
cription_and_driver_spec_and_driver_spec_origin(username,tim \
estamp,description,driver_spec,driver_spec_origin)
Да, я пытаюсь найти или создать уникальный ActiveRecord::Base
объект.Но в нынешнем виде это очень некрасиво.Вместо этого я хотел бы использовать что-то вроде этого:
task = Task.SOME_METHOD :username => username, :timestamp => timestamp ...
Я знаю о find_by_something key=>value
, но это не вариант здесь.Мне нужно, чтобы все ценности были уникальными.Есть ли метод, который будет делать то же самое, что и find_or_create_by
, но принимать хеш в качестве входных данных?Или что-то еще с семантикой similat?