在Rails中单击链接的问题计数次数

|| 我有一个数据库,其中包含许多记录,每个记录都有一个关联的URL。目前,我已经进行了一些设置,以便当人们单击特定记录的链接时,他们会被重定向到相应的URL。该代码当前为:
<%= link_to image_tag( alldata.picture.to_s + \".gif\"), alldata.URL_link %>
这很好。我现在想修改它,以便在单击链接时使用一个名为
:click_count
的参数,该参数通常将所有记录设置为0。 仔细阅读,我相信您可以使用以下形式进行此操作:
<%= link_to image_tag( alldata.picture.to_s + \".gif\"), alldata.URL_link, {:controller => params[:controller], :action => \"clickcountplusone\", :product_name => alldata.product_name}  %>
在控制器中具有以下内容:
def clickcountplusone
  clickeditem = Entiredatabase.find(params[:product_name])
  clickeditem.update_attribute(:click_count => clickeditem.click_count + 1)
end
尽管这不会产生错误,但是也不会增加计数数量。有人可以阐明这个问题吗?     
已邀请:
        您对
update_attribute
的罪税是错误的:
clickeditem.update_attribute(:click_count => clickeditem.click_count + 1)
应该:
clickeditem.update_attribute(:click_count, clickeditem.click_count + 1)
请注意,
update_attribute
接收
(name, value)
update_attributes
接收
hash
。更多信息在这里 还看看增加计数器
Item.increment_counter(:click_count, @item.id)
    
        您实际上不需要为此执行单独的操作。相反,只需使用默认的simply12ѭ动作,并在每次调用该动作时就递增计数器,如下所示:
def show
   @item = Item.find(params[:id])
   Item.increment_counter(:views, @item.id)
end
但是,每当查看该页面时,计数器都会增加-因此,如果您只想跟踪特定链接后的视图,则可以执行以下操作:
def show
   @item = Item.find(params[:id])
   if params[:from_link]
     Item.increment_counter(:views, @item.id)
   end
end
然后在您的link_to帮助器中,添加一个额外的参数:
link_to(image_tag(\"blah.jpg\"), item_path, {:from_link => true}
希望这可以帮助。     

要回复问题请先登录注册