у меня есть модель на месте проведения и я хочу сделать этоRails найти или создать на основе двух полей
Venue.find_or_create_by_
, но я только хочу новое место, чтобы быть создан, если один с тем же именем и датой еще не существуют
Например
=> Venue(id: integer, location: string, showdate: datetime, created_at: datetime, updated_at: datetime)
место встречи является уникальным и должен быть создан, если расположение и showdate нет в БД
Jeez, Rails и особенно Ruby постоянно меня поражает. Как он знает, что означает эта функция? Есть ли какая-то функция catch_or_create_by_ * catch, которая интерпретирует ее? – Jordan
На самом деле, не смотря на это, я просто посмотрел на источник Rails - Rails использует функцию method_missing, которая выполняет регулярное выражение на вызванном методе и разлагает его. Это гений. Если кому-то еще интересно, проверьте источник active_record/base.rb в источнике Rails. – Jordan
Также приемлемо передавать их в качестве аргументов. Venue.find_or_create_by (: location => location,: showdate => showdate) –