就像标题所说的那样,我从Rails指南创建了博客应用程序,我希望能够编辑在文章上发表的评论,而无需重定向到edit.html.erb页面。我想要一个以前隐藏的div出现在屏幕中间,其上有编辑表单,文本字段填充了正在编辑的注释。这是div的图像,它将出现在屏幕中间。
我知道如何通过转到edit.html.erb来编辑评论,但不是在同一页面中,或者甚至可以。
我不是在寻求css或html的帮助,但是如果有办法用js或rails来做这个很棒的话。提前谢谢!
编辑:所以Satendra的答案得到了部分显示,但这些字段不包含我想编辑的原始评论。如何使用注释填充文本字段?
答案 0 :(得分:1)
按照以下步骤在同一页面上进行编辑评论。
创建部分名称 _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业务。
在edit
内的comment_controller.rb中,功能更改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.
完成。