Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dest1234

Ajuda com validacao e metodo entre relacionamentos

Recommended Posts

Olá pesoal, estou aprendendo ruby e me deparei com o seguinte problema em meu projeto:

Possuo 2 Models

User

has_many :animals

Animal

belongs_to :user

atributos de cada tabela:

User: name, doc, birth_day(date)

Animal: user_id(intger), name, mensal_cost(decimal)

Considere que tenho um user (user1) e atribu;ido a ele tenho dois animals cujo mensal_cost de um é 130.99 e de outro 50

Eu quero então criar um método que calcule todos os mensal_cost que o user1 possui, ou seja, ele deveria me retornar 180.99.

o código que estou tentando fazer e ja tentei colocar tanto no model user quanto no animal, é o seguinte:

def max_mensal

total = 0

user.animals.each do {|a| total += a.mensal_cost}

end

Se eu deixo esse código no model User, quando eu vou no console e coloco

user1 = User.first (que foi o citado no problema acima ja com seus respectivos animais)

user1.max_mensal Eu recebo um erro que fala: "undefinide local variable or method user" for user #<....

e se eu coloco o bloco de código em animals e no console digito:

user1 = User.first

user1.animals.max_mensal ele me da: "undefinide method max_mensal" for #<Animal...

Alguem pode me ajudar? obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.