raw rails query new left joins includes active ruby-on-rails ruby activerecord ruby-on-rails-3.1 limit

ruby-on-rails - new - raw query ruby on rails



Rails 3.1 limita los objetos creados por el usuario (2)

Me gustaría limitar la cantidad de Objetos modelo que un usuario puede crear. Lo he intentado a continuación, pero no está funcionando. Entiendo que algunos cambios han sucedido en Rails 3.1 y no estoy seguro de cómo lograr esto ahora.

class User < ActiveRecord::Base has_many :things, :limit => 5, :dependent => :destroy # This doesn''t work end class Things <ActiveRecord::Base belongs_to :user end


Pruebe algo como esto:

class User < ActiveRecord::Base has_many :things end class Things <ActiveRecord::Base belongs_to :user validate :thing_count_within_limit, :on => :create def thing_count_within_limit if self.user.things(:reload).count >= 5 errors.add(:base, "Exceeded thing limit") end end end

Editar : actualizado para Rails 3


No funcionó en Rails 3.2.1. Count siempre es igual a 0 . Lo he reemplazado con self.user.things.size y ahora funciona.