Cайт веб-разработчика, программиста Ruby on Rails ESV Corp. Екатеринбург, Москва, Санкт-Петербург, Новосибирск, Первоуральск

Админка на Ruby on Rails

Новое в Rails 4: Поддержка "не" в запросах ActiveRecord

Интерфейс запросов ActiveRecord предоставляет механизмы, которые позволяют избежать написания SQL. Однако есть условия, в которых всегда требуется использование чистых строковых условий в where: < > или !=, зависящих от используемой базы данных. В Rails 4, был добавлен метод запроса not, чтобы исправить это.

Rails 3

Article.where("title != ?", params[:title])

 

Rails 4

Article.where.not(title: 'Rails 3')
# => SELECT "articles".* FROM "articles" WHERE ("articles"."title" != 'Rails 3')

Метод not в запросе может также принимать массив как аргумент, чтобы исключить значения в массиве:

Article.where.not(title: ['Rails 3', 'Rails 5'])
# => SELECT "articles".* FROM "articles" WHERE ("articles"."title" NOT IN ('Rails 3', 'Rails 5'))