Pergunta

Existe uma maneira pela qual eu possa criar uma coluna de número de série (SNO) através do andaime em trilhos que aumentam ao adicionar um registro, diminui na exclusão de um registro e não pode ser modificado manualmente?

Foi útil?

Solução

Se você deseja criar uma coluna de resumo em um modelo, precisará colocar essa lógica em seus modelos. Não existe um método embutido para isso (como um campo de autoin -crement padrão), mas pode ser adicionado facilmente:

class Parent << ActiveRecord::Base 
    # Contains a field: summary_field
end 


class Child << ActiveRecord::Base

   after_save => :increment_summary
   before_destroy => :decrement_summary

   def increment_summary
        Parent.find(self.id).summary_field.increment
   end 

   def decrement_summary
        Parent.find(self.id).summary_field.decrement
   end 

end 

Outras dicas

Não está claro se há algum relacionamento envolvido, mas parece que o Counter_cache pode ser um bom ajuste.

UMA Episódio Railscast Fornece os exemplos de código e um tutorial em vídeo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top