Ruby on rails 如何使用Ruby on Rails 5在模式中打开post Show页面
我的主页显示一个帖子列表,当我点击一篇帖子时,它会作为一个新页面打开 但我需要留在主页上,打开后显示页面作为模态。知道怎么做吗Ruby on rails 如何使用Ruby on Rails 5在模式中打开post Show页面,ruby-on-rails,modal-dialog,ruby-on-rails-5,Ruby On Rails,Modal Dialog,Ruby On Rails 5,我的主页显示一个帖子列表,当我点击一篇帖子时,它会作为一个新页面打开 但我需要留在主页上,打开后显示页面作为模态。知道怎么做吗 谢谢解决方案假设您正在使用引导 更改js请求的显示操作 def show @post = Post.find(params[id]) respond_to do |format| format.js end end 将此div添加到posts索引的末尾 <div id='post-content'></di
谢谢解决方案假设您正在使用引导 更改js请求的显示操作
def show
@post = Post.find(params[id])
respond_to do |format|
format.js
end
end
将此div添加到posts索引的末尾
<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 content').html(“”);
$('后模态').model('显示');
添加部分posts/_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>
&时代;
---将所有show.html.erb代码放在这里
最有效的方法可能是使用AJAX。您将向服务器发送一个AJAX请求,然后获取结果并使用它来填充一个模式。如果你在一个页面上只有几篇文章,你可以简单地在一个页面上呈现所有的modals,然后使用javascript来隐藏和适当地显示它们。嗯,感谢你的指导,那么我将研究AJAX。我有成百上千的东西。谢谢你,伙计!我没有使用引导,我仍然会尝试从你的方式解决。谢谢你哇!它真的起作用了!非常感谢。我正在研究你的学习方法,以便更好地学习。非常感谢。顺便问一下,你有什么建议,我如何保持网址,以便它可以共享?目前我得到的错误,似乎你已经错过了远程:在你的链接真的标记高兴地帮助。。!再次感谢你,伙计!我实际上有遥控器:真的顺便说一句