dest1234 0 Denunciar post Postado Agosto 14, 2016 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