创建记录后如何刷新 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.erb
或 create.js.haml
。如果您使用部分来填充模态,这一切都非常简单,因为您只需用新数据回忆起相同的部分。
处理此类问题的最佳方法是使用一个部分来呈现每条记录,即 _comment.html.erb
- 您可以在其中定义单个评论的布局。您可以将单个评论附加到您的列表中。
例如 create.js.haml:
$('.modal-body ul.class-containting-your-list').append( "#{escape_javascript( render '/comments/comment')}");
我让用户在模式中创建评论。同时我在同一个模态中显示评论。
还有一个用于创建新评论的表单。
唯一的问题是,如何才能在用户点击 "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.erb
或 create.js.haml
。如果您使用部分来填充模态,这一切都非常简单,因为您只需用新数据回忆起相同的部分。
处理此类问题的最佳方法是使用一个部分来呈现每条记录,即 _comment.html.erb
- 您可以在其中定义单个评论的布局。您可以将单个评论附加到您的列表中。
例如 create.js.haml:
$('.modal-body ul.class-containting-your-list').append( "#{escape_javascript( render '/comments/comment')}");