Rails:在Index文件中使用PostController方法的正确方法

我想学习如何在索引页面中使用控制器中定义的方法。 我正在尝试在我的博客上实现“喜欢”按钮。

PostController中

def like @post = Post.find(params[:id]) @post.like += 1 @post.save end 

在列出所有post的索引中,我试过这样的事情。

       hate   

我通过查看代码得到了这个想法,

   

我认为在索引页面中使用控制器中的方法的方法是
(PostController中的方法)_post_path ,但似乎我弄错了。

 undefined local variable or method `like_post_path' 

我也试过(发帖)。

我的最终目标是使这个函数成为一个ajax函数,所以我希望它是一个类似的forms

  

在这种情况下,使用“喜欢”方法的正确方法是什么?

您需要定义一个命名路由才能使其工作。 喜欢:

 # in config/routes.rb resources :posts do member do get 'like' end # OR get 'like', :on => :member end # in `rake routes` this would show up as: like_post GET /posts/:id/like(.:format) posts#like # you'd reference in a view like: like_post_path(@post)