iugu-for-devs / codeplay

MIT License
6 stars 4 forks source link

Pre requisitos de cursos #51

Closed lBenevides closed 3 years ago

lBenevides commented 3 years ago

Motivação

Solução Proposta

Imagens

Comentários

Issue

lBenevides commented 3 years ago

Tentei restringir o requirements para não permitir que o curso seja requisito dele mesmo ou que não tenha requisitos repetidos, mas não achei nenhum methodo do rails para isso.

O validates não funcionou, nem criando um custom.

Tentei sobreescrever o metodo requirements, fazendo assim:

def requirements
  super.uniq
end

Até funcionou assim, mas senti que tem algo errado. pq não impede de registrar no banco, so apaga quando o metodo é chamado.

Tentei fazer de outras maneiras pra impedir de adicionar a si mesmo, mas nenhuma funcionou. pensei que sobrescrever o << mas não consegui fazer isso.

HenriqueMorato commented 3 years ago

Tentei restringir o requirements para não permitir que o curso seja requisito dele mesmo ou que não tenha requisitos repetidos, mas não achei nenhum methodo do rails para isso.

O validates não funcionou, nem criando um custom.

Tentei sobreescrever o metodo requirements, fazendo assim:

def requirements
  super.uniq
end

Até funcionou assim, mas senti que tem algo errado. pq não impede de registrar no banco, so apaga quando o metodo é chamado.

Tentei fazer de outras maneiras pra impedir de adicionar a si mesmo, mas nenhuma funcionou. pensei que sobrescrever o << mas não consegui fazer isso.

Você pode tentar fazer uma validação customizada tipo, será que dá certo?

def cannot_join_self
  return unless requirements.include?(self)

  errors.add(:requirements, 'Curso não pode ser requisito dele mesmo')
lBenevides commented 3 years ago

Qual metodo de busca? não entendi, a gente só criou o search_courses (que ficaria melhor como search_requirements ) e não mexi mais nele