如何使用Ruby on Rails 5在模态中打开post show页面

问题描述 投票:4回答:1

我的主页显示了帖子列表,当我点击帖子时,它会以新页面的形式打开,

但我需要留在主页并打开帖子显示页面作为模态。知道怎么样?

谢谢

ruby-on-rails modal-dialog ruby-on-rails-5
1个回答
10
投票

解决方案是假设您正在使用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">&times;</button>
      </div>

      <div>
         --- put all your show.html.erb code here 
      </div>
    </div>
  </div>
</div>
© www.soinside.com 2019 - 2024. All rights reserved.