Ruby on Rails实现了Ajax Post和Comments

时间:2016-05-14 01:33:51

标签: javascript ruby-on-rails ruby ajax

有人可以帮助我吗?我正在尝试将AJAX应用到我的项目中,我需要做的事情应该很容易,但对我来说,成为一个疯狂的日子。 我的想法是当用户添加新评论时出现 没有重新加载页面,下面跟着我的控制器,视图和路线。啊删除我做了一些有用的事情。

这里是/app/controller/comments_controller.rb

enter image description here

发布app / controller / posts_controller.rb

enter image description here

观看评论/app/views/comments/_template.html.slim

enter image description here

观看评论/app/views/comments/_form.html.slim

enter image description here

Views Pots /app/views/posts/show.html.slim

enter image description here

删除评论的解决方案

enter image description here

1 个答案:

答案 0 :(得分:0)

create.js.erb

$("#comments").html("<%= escape_javascript(render partial: "comments/template", collection: @post.comments, as: :comment) %>");

_template.html.erb
<p class="comment-name"><%= link_to comment.user.name, user_path(comment.user_id)%>
  <span class="comment-content"><%= comment.content %></span> 
</p>
<p class="comment-time"><%= time_ago_in_words(comment.created_at) %></p>

CommentsController

def create
    @post = Post.find(params[:post_id])
    @comment = @post.comments.build(comment_params)
    @comment.save
    respond_to do |format|
      format.html { redirect_to :back }
      format.js 
    end 
end   

这可能过于简单,但可能会激发一些东西。