创建记录后如何刷新 bootstrap 模式*

How to refresh a bootstrap modal after I created a record*

我让用户在模式中创建评论。同时我在同一个模态中显示评论。

还有一个用于创建新评论的表单。

唯一的问题是,如何才能在用户点击 "Send comment" 按钮后才刷新模式?就像这样:https://trello.com/c/E8K0kxr0/9-teardowns

当然不应该关闭模式。

我打问号是因为我不知道重定向到哪里或做什么...

我的comments_controller是:

def new
    @comment = current_user.comments.build
  end

  def create
    @comment = Comment.new(comment_params)
    @comment.user = current_user
    @comment.user_id = current_user.id if current_user
    @comment.save
    if @comment.save
      flash[:success] = "Success!"
      ??????????????????
    else
      flash[:success] = "error!"
      ??????????????????
    end
  end

基本上,您的 create 操作将使用 JS 进行响应,这意味着您需要 create.js.erbcreate.js.haml。如果您使用部分来填充模态,这一切都非常简单,因为您只需用新数据回忆起相同的部分。

处理此类问题的最佳方法是使用一个部分来呈现每条记录,即 _comment.html.erb - 您可以在其中定义单个评论的布局。您可以将单个评论附加到您的列表中。

例如 create.js.haml:

$('.modal-body ul.class-containting-your-list').append( "#{escape_javascript( render '/comments/comment')}");