我的主页显示了帖子列表,当我点击帖子时,它会以新页面的形式打开,
但我需要留在主页并打开帖子显示页面作为模态。知道怎么样?
谢谢
解决方案是假设您正在使用bootstrap ...
更改js请求的show动作
def show
@post = Post.find(params[id])
respond_to do |format|
format.js
end
end
在帖子索引末尾添加此div
<div id='post-content'></div>
您显示页面的链接现在必须看起来像这样
<%= link_to 'View Post', post_path(post), remote: true %>
添加一个新文件posts / show.js.erb
$('#post-content').html("<%= j render 'post_modal', post: @post %>");
$('#post-modal').modal('show');
添加部分帖子/ _post_modal.html.erb
<div id="post-modal" class="modal fade" role="dialog">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div>
--- put all your show.html.erb code here
</div>
</div>
</div>
</div>