É ocasionalmente necessário trabalhar com modelos de estilo Active Record (Veja: Gems que dependem fortemente de AR) Você pode evitar ficar bagunçado com seus modelos definindo o escopo deles e usando o teste AR :: Lint
https://github.com/rails/rails/blob/master/activemodel/lib/active_model/lint.rb
Versão rápida e suja:
mude sua definição de classe da seguinte maneira:
class Rockies < ActiveRecord::Base
#Model Code
end
para imitar o seguinte
class Rockies
include ActiveModel::Validations
include ActiveModel::Conversion
extend ActiveModel::Naming
def persisted?
false
end
#Model Code
end
É basicamente isso, se seus modelos foram gerados usando scaffolding, isso desvinculará seu modelo do banco de dados e usará o guia ActiveModel LINT para melhores usos, é bastante reduzido, então se você encontrar um método que não seja implementado por padrão, dê o Dê uma olhada no arquivo oficial LINT e veja quais classes você deve incluir / estender.