gpt4 book ai didi

javascript - rails 4 bootstrap 3 ajax 模态

转载 作者:可可西里 更新时间:2023-11-01 02:00:21 25 4
gpt4 key购买 nike

我正忙于学习 Rails 4,我想在用户单击链接时显示 Bootstrap 弹出模式,当模式打开时,它需要显示与该特定记录相关的信息。这是我到目前为止所做的,只是没有显示实际的模式弹出窗口,但确实传递了正确的参数。

index.html.erb 页面有:

<%= link_to "view", work_path(w), remote: true, :"data-toggle" => 'modal', :"data-target" => '#myModal' %>

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"></div>

我还有一个works/_modal.html.erb:

<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times; </button>
<h4 class="modal-title" id="myModalLabel"></h4>
</div>
<div class="modal-body">
<%= @work.name %>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>

也是一个工作控制者:

    def show
@work = Work.find(params[:id])
if request.xhr?
respond_to do |format|
format.html {render :partial => 'modal'}
format.json {head :ok}
end
end
end

最后是 works/show.js.erb:

$("#myModal").html("<%= escape_javascript(render 'modal') %>");

我希望我在这里遗漏了一些简单的东西。在控制台中,我可以看到以下消息,所以我知道它正在返回正确的信息,但不幸的是它没有显示模态。:

Started GET "/works/8" for 127.0.0.1 at 2014-03-03 09:31:12 +0000
Processing by WorksController#show as JS
Parameters: {"id"=>"8"}
Work Load (0.2ms) SELECT "works".* FROM "works" WHERE "works"."id" = ? LIMIT 1 [["id", 8]]
Rendered works/_modal.html.erb (4.9ms)
Completed 200 OK in 8ms (Views: 6.3ms | ActiveRecord: 0.2ms)

非常感谢对此的任何帮助。

最佳答案

换一种方式试试。这样,我们将使用显式 javascript 命令显示模态弹出窗口。

在 index.html.erb 中

<%= link_to "view", work_path(w), remote: true, class: 'static-popup-link'%>

<div class="modal hide fade" id="myModal" tabindex="-1" role="dialog" data-backdrop="static" data-keyboard="false">Loading...</div>

在 application.js 中

$(document).ready(function() {

var clickOnPopupLink = function(){
$('body').on('click', '.static-popup-link', function(){
$('#myModal').modal('show');
});
}

clickOnPopupLink();

});

在 Controller 中

def show
@work = Work.find(params[:id])
end

在 show.js.erb 中

$('#myModal').html("<%= j render("/works/modal")%>")

关于javascript - rails 4 bootstrap 3 ajax 模态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22143358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com