Articles of activerecord

GroupingError: ERROR: la columna debe aparecer en la cláusula GROUP BY o debe usarse en una función agregada

Tengo un código en mi controlador que clasifica los álbumes según la clasificación de revisión promedio más alta (código usado de esta solución Cómo mostrar los álbumes mejor calificados a través de una relación de reseñas de has_many ): @albums = Album.joins(:reviews).select(“*, avg(reviews.rating) as average_rating”).group(“albums.id”).order(“average_rating DESC”) Este código funciona perfectamente en mi entorno de desarrollo […]

¿Cómo funcionan los métodos de asociación de Rails?

¿Cómo funcionan los métodos de asociación de Rails? Consideremos este ejemplo class User < ActiveRecord::Base has_many :articles end class Article < ActiveRecord::Base belongs_to :user end Ahora puedo hacer algo como @user = User.find(:first) @user.articles Esto me trae artículos que pertenecen a ese usuario. Hasta aquí todo bien. Ahora puedo continuar y hacer un descubrimiento sobre […]

Cambiar el nombre de las columnas created_at, updated_at de ActiveRecord / Rails

Quiero cambiar el nombre de las columnas de marca de tiempo definidas en timestamp.rb. ¿Pueden sobrescribirse los métodos de timestamp.rb? Y lo que debe hacerse en la aplicación es que se use el módulo con los métodos sobrescritos.

Rieles 3: seleccione con Incluir?

Aquí hay una selección anidada con include: @items = Item.where(“complete = ?”, true).includes( :manufacturer, {:order=>[:supplier, :agent] }) Esta es una consulta impositiva ya que extrae miles de filas de datos de todas las tablas incluidas anteriormente. ¿Cómo puedo obtener la consulta solo para seleccionar campos específicos? user.name, user.created_at order.created_at Nombre del proveedor nombre del agente […]

Rails ActiveRecord: Buscar todos los usuarios excepto el usuario actual

Siento que esto debería ser muy simple, pero mi cerebro está cortocircuitando en eso. Si tengo un objeto que representa al usuario actual y deseo consultar para todos los usuarios, excepto el usuario actual, ¿cómo puedo hacerlo, teniendo en cuenta que el usuario actual a veces puede ser nil ? Esto es lo que estoy […]

¿Cómo encadena Rails ActiveRecord las cláusulas “where” sin múltiples consultas?

Soy un desarrollador de PHP y aprendo el asombro de Ruby on Rails, me encanta ActiveRecord y noté algo realmente interesante. Así es como los métodos de ActiveRecord detectan el final de la cadena de métodos para ejecutar la consulta. @person = Person.where(name: ‘Jason’).where(age: 26) # In my humble imagination I’d think that each where() […]

¿Cómo trabajo con dos bases de datos diferentes en Rails con registros activos?

Necesito usar diferentes conexiones de base de datos en diferentes modelos de Rails. ¿Hay una manera no tan hacky de hacer eso? Cualquier enlace o palabras clave de búsqueda sería genial 🙂

Rails 3, has_one / has_many con la condición lambda

Aquí mis modelos: class User < ActiveRecord::Base has_many :bookmarks end class Topic < ActiveRecord::Base has_many :bookmarks end class Bookmark :topic_id end Quiero buscar todos los topics con, para current_user , el bookmark asociado. ATM, lo hago: Topic.all.each do |t| bookmark = t.bookmarks.where(user_id: current_user.id).last puts bookmark.position if bookmark puts t.name end Esto es feo y hace […]

Flotante vs Decimal en ActiveRecord

A veces, los tipos de datos Activerecord me confunden. Err, a menudo. Una de mis preguntas eternas es, para un caso dado, ¿Debo usar :decimal o :float ? A menudo he encontrado este enlace, ActiveRecord:: decimal vs: float? , pero las respuestas no son lo suficientemente claras como para estar seguro: He visto muchos hilos […]

Expresiones regulares con validaciones en RoR 4

Hay el siguiente código: class Product < ActiveRecord::Base validates :title, :description, :image_url, presence: true validates :price, numericality: {greater_than_or_equal_to: 0.01} validates :title, uniqueness: true validates :image_url, allow_blank: true, format: { with: %r{\.(gif|jpg|png)$}i, message: 'URL must point to GIT/JPG/PNG pictures' } end Funciona, pero cuando bash probarlo con la “prueba de rake”, captaré este mensaje: rake aborted! […]