正如标题所说,我从 Rails 指南创建了博客应用程序,我希望能够在不重定向到 edit.html.erb 页面的情况下编辑对文章的评论。我想要一个以前隐藏的 div 出现在屏幕中间,上面有编辑表单,文本字段填充了正在编辑的评论。这是将出现在屏幕中间的 div 图像。
我知道如何通过转到 edit.html.erb 但不在同一页面中来编辑评论,或者这是否可能。
我不是在寻求关于 css 或 html 的帮助,但是如果有一种方法可以使用 js 或 rails 来做到这一点,那就太棒了。提前致谢!
编辑:所以 Satendra 的答案显示了部分内容,但这些字段不包含我想要编辑的原始评论。如何让文本字段填充评论?
按照以下步骤在同一页面上进行编辑评论。
创建一个部分名称_edit.html.erb将您的edit.html.erb代码放在那里。
在要渲染此部分的屏幕中间创建一个 div。
<div id="edit_comment" >
</div>
放入:remote => true
您的编辑按钮链接。
# change your path accordingly
<%= link_to edit_comment_path(:comment_id => comment.id), :remote => true %>
这:remote => true
是这里最重要的部分,它首先允许整个 Ajax 业务。
在comment_controller.rb 里面的edit
函数改变respond_to js
def edit
@comment = Comment.find(params[:id])
respond_to do |format|
format.js
end
end
创建 edit.js.erb 并将下面的代码放在那里。
$("#edit_comment").html("<%= j render(:partial => 'edit', :locals =>{ :comment => @comment }) %>");
# use comment variable in your partial as it is passed as local.
完成。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句