class AccountClient < ActiveRecord::Base
default_scope joins(:account).where('accounts.deleted=?',0).
belongs_to :account
end
Y todo funcionaba aparentemente perfecto, sin embargo fue hasta la hora de subir a producción que se intentó insertar algún registro y apareció el siguiente error:
ActiveRecord::ReadOnlyRecord (ActiveRecord::ReadOnlyRecord)
Después de navegar un rato por la red resulta que cuando realizas un default_scope que tiene un join se activa por default el readonly y por lo tanto hay que desactivarlo de la siguiente manera:
default_scope joins(:account).where('accounts.deleted=?',0).readonly(false)
Ahora, yo estoy utilizando rails 3.2.3 y 3.2.6, en algún sitio leí que readonly tiene un bug en la versión 4 así que hay que tener cuidado a la hora de migrar. Sigo buscando otras formas de corregirlo.
No hay comentarios:
Publicar un comentario