ActiveRecord выбрать поле строки имеет определенную длину в Rails 3?

У меня есть серия сообщений и вы хотите выбрать все сообщения, размер их которых меньше 30, как это сделать?

Posts.where("len(title) < 30")?

Ответы

Ответ 1

Это должно работать:

Post.where("length(title) < 30")

Вы правильно используете #where в качестве сокращения для: условий в Rails 3. Вы можете передать любой фрагмент кода, который работает непосредственно в вашем локальном SQL.

Просто помните, что классы модели ActiveRecord являются исключительными по соглашению.

Ответ 2

Это работает для меня с MySQL: Post.find(: all,: conditions = > "length (title) < 30" )