Forum: Ruby on Rails ActiveRecord increment confusion

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Aaron S. (Guest)
on 2006-03-11 17:53
Part of my application counts the number of times a link was clicked.
The function should increment the @link.clicks attribute.

I assumed

  def click
    @link = Link.find(params[:id])
    if @link.increment('clicks')
      redirect_to @link.url
      flash[:error] = 'Could not update clicks'
      redirect_to :action => 'list'

would do the trick. But I can't get @link.increment to work. Instead

    if @link.update_attribute('clicks', @link.clicks+1)

does the trick, but it's a cludge.

I'm just learning Ruby and I'm still wrapping my head around the proper
use of attributes. I'm sure I'm making some stupid mistake with the
@link.increment line. If someone could point it out, I'd be grateful.

Adam D. (Guest)
on 2006-03-11 18:46
(Received via mailing list)
I think all you need to do is


Aaron S. (Guest)
on 2006-03-11 21:37
Yay! Thanks!

This topic is locked and can not be replied to.