Articles of rails activerecord

¿Cómo omitir las devoluciones de llamada de ActiveRecord?

Posible duplicado: ¿Cómo puedo evitar ejecutar callbacks de ActiveRecord? Tengo un modelo como este class Vote < ActiveRecord::Base after_save :add_points_to_user ….. end ¿Es posible forzar de algún modo al modelo a omitir la llamada de add_points_to_user cuando se guarda? Posiblemente algo como ActiveRecord#delete vs ActiveRecord#destroy ?

Agregue una migración de columna de referencia en Rails 4

Un usuario tiene muchas cargas. Quiero agregar una columna a la tabla de uploads que haga referencia al user . ¿Cómo debería ser la migración? Esto es lo que tengo. No estoy seguro de si debería usar (1) :user_id, :int o (2) :user, :references . Ni siquiera estoy seguro de si (2) funciona. Solo trato […]

Error de Heroku Postgres: PGError: ERROR: la relación “organizaciones” no existe (ActiveRecord :: StatementInvalid)

Tengo un problema al implementar mi aplicación Rails en Heroku, donde se produce este error cuando bash acceder a la aplicación: PGError: ERROR: la relación “organizaciones” no existe (ActiveRecord :: StatementInvalid) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.attrelid = […]

Búsqueda de ActiveRecord por año, día o mes en un campo de fecha

Tengo un modelo de ActiveRecord que tiene un atributo de fecha. ¿Es posible utilizar ese atributo de fecha para buscar por año, día y mes? Model.find_by_year(2012) Model.find_by_month(12) Model.find_by_day(1) o simplemente es posible encontrar_by_date (2012-12-1). Esperaba poder evitar crear atributos de Año, Mes y Día.

Rails 3 SQLite3 Booleano falso

Estoy tratando de insertar un valor booleano falso en una tabla SQLite3 pero siempre inserta un valor verdadero. Aquí está mi migración: class CreateUsers false, :null => false end end def self.down drop_table :resources end end Cuando bash insertar usando raíles produce el siguiente SQL: INSERT INTO “users” (“name”, “active”) VALUES (‘test’, ‘f’) SQLite considera […]

Rieles donde la condición usa NOT NULL

Usando el estilo de los Rails 3, ¿cómo escribiría lo contrario de: Foo.includes(:bar).where(:bars=>{:id=>nil}) Quiero encontrar donde id no es nulo. Lo intenté: Foo.includes(:bar).where(:bars=>{:id=>!nil}).to_sql Pero eso vuelve: => “SELECT \”foos\”.* FROM \”foos\” WHERE (\”bars\”.\”id\” = 1)” Definitivamente eso no es lo que necesito, y casi parece un error en AREL.

Acceso a current_user desde dentro de un modelo en Ruby on Rails

Necesito implementar un control de acceso detallado en la aplicación Ruby on Rails. Los permisos para usuarios individuales se guardan en una tabla de base de datos y pensé que sería mejor dejar que el recurso respectivo (es decir, la instancia de un modelo) decidiera si un determinado usuario puede leer o escribir en él. […]

Combine dos objetos ActiveRecord :: Relation

Supongamos que tengo los siguientes dos objetos: first_name_relation = User.where(:first_name => ‘Tobias’) # ActiveRecord::Relation last_name_relation = User.where(:last_name => ‘Fünke’) # ActiveRecord::Relation ¿es posible combinar las dos relaciones para producir un objeto ActiveRecord::Relation que contenga ambas condiciones? Nota: Soy consciente de que puedo encadenar los wheres para obtener este comportamiento, lo que realmente me interesa es […]

Comprender: opción de fuente de has_one / has_many a través de Rails

has_one/has_many :through comprender la opción de :source de has_one/has_many :through asociación. La explicación de Rails API tiene muy poco sentido para mí. “Especifica el nombre de asociación de origen utilizado por has_many :through => :queries . :through => :queries solo si el nombre no puede inferirse de la asociación. has_many :subscribers, :through => :subscriptions buscarán […]

Los nuevos datos no persisten en la columna Rails Array en Postgres

Tengo un modelo de usuario con una columna de amigos de tipo texto. Esta migración se ejecutó para usar la función de matriz con postgres: add_column :users, :friends, :text, array: true El modelo de usuario tiene este método: def add_friend(target) #target would be a value like “1234” self.friends = [] if self.friends == nil update_attributes […]