如何使用Ruby一个模式打开后显示页面on Rails的5

问题描述:

我的主页上显示的职位名单,当我点击一个帖子,它作为一个新的页面打开,如何使用Ruby一个模式打开后显示页面on Rails的5

,但我需要留在主页并打开帖子显示页面为模态。任何想法如何?

谢谢

+0

可能是最有效的方式来做到这一点是使用AJAX。您可以向服务器发送一个AJAX请求,然后获取结果并使用它来填充模式。如果你只在页面上有几个帖子,你可以简单地在一个页面上渲染所有的模块,然后使用javascript来隐藏和显示它们。 –

+0

嗯,谢谢你的指导,我会研究一下AJAX。我有数百件物品。 – Designer

解决方案与您所使用的自举的假设......

改变你的节目了JS行动要求

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 %> 

添加新的文件帖/ 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">&times;</button> 
     </div> 

     <div> 
     --- put all your show.html.erb code here 
     </div> 
    </div> 
    </div> 
</div> 
+0

谢谢队友!我没有使用Bootstrap,我仍然会尝试从你的方式解决。谢谢 – Designer

+0

哇!它实际上工作!谢谢!我正在研究你现在学习的方法。谢谢!顺便说一句,你有什么建议我如何保持URL,以便它可以共享?目前我收到错误https://i.imgur.com/9wjw720.png – Designer

+0

它看起来像你错过了遥控器:true在你的link_to标记 –