Search code examples
ruby-on-railsactiverecord

ActiveRecord select a string field has a certain length in Rails 3?


I've got a series of Posts and would like to select all posts where its title size is lesser than 30, how to do that?

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

Solution

  • This should work:

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

    You're correctly using #where as shorthand for :conditions in Rails 3. You can pass in any snippet that works in your local SQL directly.

    Just remember that ActiveRecord model classes are singular by convention.