gpt4 book ai didi

javascript - Rails/jQuery/Modal forms - 缓存问题?有时他们只是停止工作

转载 作者:行者123 更新时间:2023-11-29 21:58:31 24 4
gpt4 key购买 nike

我有一个应用程序使用远程链接、jQuery 函数来处理它们,以及在 jQuery 完成后加载(模态)的部分。 (Rails 3.2.11, Ruby 1.93, jQuery 1.9, 开发环境运行)

99% 的时间一切正常 - 部分以模态形式出现在“父”表单上方,背景变暗并且父表单被阻止单击和滚动操作。效果很好......

每隔一段时间会发生这种情况。点击(远程)链接后,屏幕变暗但没有模态形式。

jQuery 确实有效——我可以在浏览器日志中看到条目,可以有警报通知等,但部分从未出现。浏览器没有控制台错误,终端窗口中也没有显示任何 Rails 错误。看起来就好像 Jquery 正在执行但移交给 Rails/永远不会进行部分...

这听起来像是某种缓存问题...我已经尝试过 rake assets: clean 但无济于事。我所做的是备份有效,并复制新代码,一切又恢复正常了。我已经有一段时间没有更改 CSS,所以这似乎也不是问题。

知道问题出在哪里吗?

路线检查等...

这是我的文件:

查看代码:

<div class="modal" class="modal-hidden">
<div class="modal-content" class="modal-hidden">
</div>
</div>


<%= link_to(activity["status"], {:controller => 'statuses', :action=>'edit', :id=>activity["object_id"]},:remote=>true,:class=>"edit")%>

新闻.js

$(document).ready(function() 
{
// .... misc functions...
$('#newsfeed').on('click','.edit', function(evt) {

-----------misc code that makes modal divs visible and sizes them - not relevant to issue------

$(".modal-content").css({ top:0, left: dialogLeft, position:"fixed", display:"inline"});
evt.preventDefault();
});
// .... misc functions...
});

编辑.js

$('.modal-content').html("<%= j(render(:partial=> 'statuses/edit', :locals=>{:id=>:id, :activity_list_id=>:activity_list_id}).html_safe).html_safe %>");

_edit.html.erb

body style="background: #4B7399">
<table style="background:#ffffff">
<tr>
<td>
<h2>Edit Status</h2>
<%= form_tag({:controller => :statuses, :action => :update, :id=> @status.id}, {:method => :put, :remote=>true} ) do |f|%>
<br></div>
<%= hidden_field_tag :id, @status.id.to_s%><br>
Status: <%= text_area_tag :status, @status.status.to_s %><br>
<%= submit_tag "Update" %>
<% end %>
<button class="close">Close it</button>

<%= render "layouts/modal" %>

开发.rb

  config.serve_static_assets = true

这可能是什么原因造成的?我的 jQuery 是不是不正确但缓存了一个工作版本?不太确定如何处理这个问题...

最佳答案

尝试在 application.js 中使用 //= require jquery_ujs 而不是 //= require jquery,如果你使用这一行 javascript_include_tag *js_libraries, :cache => 'cached_js',那么你需要移除缓存属性。

尝试在 application.js 中添加此代码:

$(function(){
$('a').attr('remote', 'true').attr('data-type', 'script');
});

阅读这些答案:answer_1 , 和 answer_2 .

关于javascript - Rails/jQuery/Modal forms - 缓存问题?有时他们只是停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25151354/

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