Javascript rails链接到:远程
我有以下资料:Javascript rails链接到:远程,javascript,ruby-on-rails,ajax,link-to,Javascript,Ruby On Rails,Ajax,Link To,我有以下资料: <%= link_to my_path, method: :delete, confirm: 'Delete?', class: 'link-delete', 'data-message' => 'Are you sure?', 'data-severity' => 'danger', :remote => true do %> <i class="icon-trash"></i> <% end %> 但不确
<%= link_to my_path, method: :delete, confirm: 'Delete?', class: 'link-delete', 'data-message' => 'Are you sure?', 'data-severity' => 'danger', :remote => true do %>
<i class="icon-trash"></i>
<% end %>
但不确定在使用“:remote=>true”时如何组合这两者
有什么建议吗
感谢您的帮助您不需要将两者结合起来。只需使用format.js调用javascript即可 在控制器中: 控制器
def my_method
#code here
respond_to do |format|
format.js {}
end
end
my_method.html.erb
<div id = "link-delete"></div>
$("#link-delete").html("<%= escape_javascript(render(:partial => "text_message"))%>");
<p>Loading...</p>
my_method.js.erb
<div id = "link-delete"></div>
$("#link-delete").html("<%= escape_javascript(render(:partial => "text_message"))%>");
<p>Loading...</p>
$(“#link delete”).html(“文本消息”)%>;
\u text\u message.html.erb
<div id = "link-delete"></div>
$("#link-delete").html("<%= escape_javascript(render(:partial => "text_message"))%>");
<p>Loading...</p>
正在加载
您可以像这样绑定到ajax调用:
<%= link_to my_path, method: :delete, confirm: 'Delete?', class: 'link-delete', 'data-message' => 'Are you sure?', 'data-severity' => 'danger', :remote => true do %>
<i class="icon-trash"></i>
<% end %>
$('.link-delete').bind('ajax:beforeSend', function() {
$('#mySpinner').show();
});
$('.link-delete').bind('ajax:complete', function() {
$('#mySpinner').hide();
});
“您确定吗?”,“数据严重性”=>“危险性”,:remote=>true do%>
$('.link delete').bind('ajax:beforeSend',function(){
$('#mySpinner').show();
});
$('.link delete').bind('ajax:complete',function(){
$('#mySpinner').hide();
});
$(“#链接删除”).html(“#文本消息”))%>”
可以缩短为$(“#link delete”).html(“”)哇,我从来都不知道。很好。但是,它如何知道您正在呈现的是部分文本还是简单文本?您还没有在渲染中定义partial。当然,我知道,但那是在执行ajax请求之后。我想展示一个“装载…”调用ajax调用之前的消息。但是您正在链接中使用:remote=>true
,它将在单击时调用ajax。基本上,“加载…”消息应该在调用my controller中的操作之前显示。问题是,使用Bootstrap模式,我似乎失去了对调用过程的控制。这可能就是您所寻找的:github.com/rails/jquery-ujs/wiki/ajaxi我也在尝试做同样的事情……但不知怎的,ajax:complete
并没有被解雇。只有发送前的有效。在我的案例中,我使用GET。@RahulDess您的服务器是否正在生成响应?我能想象不触发完整回调的唯一原因是请求永远不会完成。请求成功完成。但值得注意的是,我通过控制器中的JavaScript呈现了部分。thtat是否改变了什么?@RahulDess如果控制器返回替换链接(或包含链接的内容)的JavaScript,那么如果未触发ajax:complete
,则会有意义,因为原始链接不再存在于DOM中,事件将从中传播。(在旋转器案例中,这可能不是问题,因为旋转器也可能被吹走。)