Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Ruby Ruby Objects and Classes Build a Bank Account Class Adding Transactions

Need help with appending a hash into an array

It might just be because it late, but I am stuck with this part of the question. Ive tried a few of the things that you see in the previous video but none work. Im not sure if I have to add to the code or alter the method i already have.

bank_account.rb
class BankAccount
  attr_reader :name

  def initialize(name)
    @name = name
    @transactions = []
  end
  def add_transaction(description, amount)
    @transaction.push(:description, description, :amount, amount)
  end

end

1 Answer

Seth Kroger
Seth Kroger
56,413 Points

To push a hash, first you need a hash literal, i.e. two curly-braces (also note that the instance variable is transactions, plural).

@transactions.push( {} ) # pushes an empty hash 

Then inside the hash you need two key-value pairs:

@transactions.push( {description: description, amount: amount} )

Or with hashrocket syntax

@transactions.push({:description => description, :amount => amount})

Thanks that sorted it out.