我有一个show.html.haml视图,显示帖子的点赞数
= @post.likes.count
在创建动作的控制器中,我写道:
respond_to do |format|
format.js { render template: 'posts/show.js.haml' }
format.html { redirect_to post_path(@post) }
end
渲染 html 时,它会重定向到同一个帖子,即 它只是刷新页面以显示新的喜欢。如何通过JS进行提交,这样我就不必刷新整个页面?
我创建了 show.js.haml 来渲染 js 格式,但是我应该在那里写什么呢?
为Like按钮添加了 remote: true以调用 ajax:
= link_to 'Like', post_likes_path(@post), method: :post, class: 'btn btn-outline-dark', remote: true
我移动了线路
进入新的 parsial _likescount.html.haml。
向show.js.erb添加了代码,以在我的视图中呈现此部分:
在创建操作结束时的likes_controller.rb控制器中:
因此,当创建一个赞时,create 操作会渲染show.js.erb,它会将 @post.likes.count 单独渲染到show.html.haml视图中。