所以,我想在我的网站上创建一个事件或用户后,或者在编辑之后显示模态消息,到目前为止我只知道如何使用flash来显示小消息,但我想知道如何使用模态窗口执行此操作,并且它们仅在使用控制器中的某个方法后显示,就像闪存消息一样,但在模态窗口中。
我调查过此事并找到了format.html
和format.js
似乎可以做到这一点,但我有点失去了如何正确使用它们。
答案 0 :(得分:0)
您可以使用@ObjectCreated之类的实例变量并在view.erb文件中访问它,并执行类似
的操作<%if @objectCreated%> 为模态插入html <%end%>。
然后假设您的页面刷新使用dom加载的javascript函数来打开模态。
答案 1 :(得分:0)
假设您已经拥有模态html。
<% if flash[:event] == true %>
<script>$(function() { $('#modal-id'}.modal('show'); });</script>
<% end %>
答案 2 :(得分:0)
这对我有用
如果你有部分模态然后在你的视图中渲染它:
function remove_pf() {
remove_meta_box( 'formatdiv','post','normal' );
}
add_action( 'admin_menu', 'remove_pf' );
然后:
<%= render 'your_partial' %>
答案 3 :(得分:0)
好的,试试完整的解决方案
第1步
创建部分layouts/_modal.html.erb
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h4 class="modal-title" id="myModalLabel">Alert</h4>
</div>
<div class="modal-body">
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="alert-message <%="#{name}" %>-message">
<p><%= msg %></p>
<i class="icofont icofont-close"></i>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
第2步
然后控制器创建或更新动作
flash[:success] = 'Category was successfully created.'
OR
flash[:danger] = 'Ooops! something went wrong'
第3步
在layouts/application.html.erb
<% flash.each do |name, msg| %>
<%= render partial: "layouts/modal" %>
<% end %>
第4步
在页脚上
<script>
$('#myModal').modal('show')
</script>
或者你可以在flash部分或外部JS文件中使用它
这是经过测试并且运行良好
希望有所帮助