每当我刷新页面时,都会调用一个方法

时间:2015-09-21 01:14:52

标签: ruby-on-rails ruby haml

我在rails 4上的ruby上有一个按钮的问题。似乎每次刷新页面时都会调用update_likes方法,当我只调用它时我单击一个按钮。这是模型上按钮的代码

%p 
  %b Likes:
  = @item.likes   
  = link_to "Like", :onclick => @item.update_likes      

这是从控制器调用它(update_likes)的方法

  def update_likes
    @item = Item.find(params[:id])
    @item.update_likes 
  end 

如果我消除了:onclick => @ item.update_likes当我刷新页面时没有任何反应但是一旦我添加它就会在点击和刷新时调用方法。

有人能看到我的问题吗?

任何建议都会有所帮助!谢谢

1 个答案:

答案 0 :(得分:0)

onclick用于触发javascript函数,但是在这里你没有javascript函数,但是只要呈现页面就会触发一个简单的调用,所以你需要像这样更新你的代码

= link_to "Like", :onclick => "some_javascript_function_to_call_update_likes_on_server(#{@item.id})"