Undefined local variable or method 'game'

I am doing a web shop assignment and have got a problem with my action
mailer.

I get an error undefined local variable or method ‘game’

I have the following in my mailer:

def game_interest(user, game)
@user = user
@game = Game
mail :to => user.email, :subject => “Game Interest”
end

and the following in my controller:

def email

  @game = Game.find(params[:id])
    respond_to do |format|
    user = @game.user
     email = user.email
      g = GameTrade.game_interest(user, game)
       g.deliver
  format.html { redirect_to root_url }
  format.json { render json: @game }
end

end

You are not passing the variable game to method ‘email’.
g = GameTrade.game_interest(user, game)

Don’t you have to do this?
g = GameTrade.game_interest(user, @game)

Bruno C. Santiago

Ah Cheers Bruno,

that fixed my problem :slight_smile:

I am wondering if there is any way to do current_user as well as user in
one post e.g.

hi user (jon)

the current_user (adam) has registered an interest in your post?

Basically its an argument error.

def game_interest(user, game)
@user = user
@game = Game
mail :to => user.email, :subject => “Game Interest”
end

It should be

def game_interest(user, game)
@user = user
@game = game
mail :to => user.email, :subject => “Game Interest”
end

As you are passing the game object to game_interest function,but while
passing it you are using Game class.

-Hari

No worries, I solved the code :slight_smile: