- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已成功在一个 Rails (3.2.6) 应用程序中添加 ujs。添加 :remote => true 到我的表单标签允许我对我的 js.erb 文件进行 ajax 调用以动态加载 div 等..
但是在同一台计算机上的另一个应用程序(Ubuntu 12.0.4)中,ujs 引擎似乎无法工作。我总是收到找不到模板,因为表单发送格式 => html 而不是 js。如果我强制表单使用 js 格式(format => 'js'),那么它只会呈现 js.erb 文件,而不是通过 ajax 调用它。
在 application.js 中,我添加了正确的 header ,其中包含以下内容:
//= require jquery
//= require jquery_ujs
//= require_tree .
当我实际浏览到使用应用程序布局的主主页时,JavaScript 文件被包含在内,其中包括上面提到的 javascirpt 引用。页面中的形式如下:
<%= form_tag list_path, :remote => true, :id => 'frmBookResults', :method => :post do %>
但是尽管它包含 :remote => true,并且为 list_path 建立了一条路由(该路由有效,因为如果我将 list.js.erb 更改为 list.html.erb, View 就会呈现)和一个方法在处理请求的 Controller 中(def list....end),后续的 list.js.erb 被忽略,并且我得到一个模板未找到错误,因为rails正在将表单请求作为html处理,我可以在日志。
我已经尽我所能寻找解决方案,但无法弄清楚为什么我的 ujs 不适用于这个特定的应用程序,因为它与我的工作应用程序、gemset、版本和配置几乎相同。
我发现了几篇关于堆栈溢出的其他文章,人们也遇到了同样的问题,但没有给出最终的有效答案。
任何帮助或指导将不胜感激。
最佳答案
这确实是ajax被破坏的问题。我用来提交表单的 onkeyup 触发器如下:
<%= form_tag list_path, :id => 'frmBookResults', :remote => true do %>
<input id='keyword' type='text' onkeyup='document.forms["frmBookResults"].submit();'/>
<% end %>
注意以下几点:
document.forms["frmBookResults"].submit();
显然,通过 javascript 提交表单是问题所在,因为当我更新 onkeyup 以使用 jquery 提交(如下所述)时,rails ujs 启动并且对我的 list.js.erb 的 ajax 调用起作用:
onkeyup="jQuery('#frmBookResults').submit()"
感谢所有反馈 mccanff!您与 linkedIn Rails 小组的其他开发人员一起做出的贡献帮助我最终解决了我的问题。
关于ruby-on-rails - UJS 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13808306/
我正在学习一个简单的教程,出于某种原因,我的 2 个 View 突变(addCard 和 addList)工作正常......但是,我的第三个突变(editCard)似乎在 Vue 中不起作用。当我单
我正在使用 Twitter Bootstrap 的按钮加载状态和 Rails Unobtrusive JavaScript http://twitter.github.com/bootstrap/ja
所以我正在尝试将谷歌地图集成到我的 Rails 应用程序中(请记住,这是我第一次这样做,而且我是 Rails 初学者,而且我不太了解 Ruby 代码)。 map 代码 // When t
我正在使用 Rails jquery ujs用于在我的应用程序中处理 ajax。此外,我还使用confirm选项来销毁任何记录。作为我当前的设置,我通过单击 data-remote=true 链接连接
我正在使用 Rails UJS。我有一个表单设置来执行远程提交,如下所示: 我正在尝试找到一种从 JavaScript 函数提交此表单的方法。我试过: var form$ = $("#new_sub
我已成功在一个 Rails (3.2.6) 应用程序中添加 ujs。添加 :remote => true 到我的表单标签允许我对我的 js.erb 文件进行 ajax 调用以动态加载 div 等..
我在 Rails 应用程序中使用 jQuery 方法“on”来将事件附加到并不总是存在的表单上。当 #myForm 附加到文档时,它似乎没有附加事件处理程序。 以下是 UJS 对 on() 的建议用法
我的 Rails 本地服务器正在努力寻找 jquery-ujs 文件。我该如何解决这个问题? application.js //= require jquery //= require jquery-
首先,对不起我的英语。我是巴西人,还在进步。 我想创建一个名为“collection_cascading_select”的辅助标记。该助手类似于“collection_select”,但他还有一个名为
我在获取 UJS 调用来更新页面显示时遇到问题。我想在选择框更改时更新 div 的值(我已经用 google 搜索了所有地方,但无济于事)。 我像这样设置更改函数(我使用 Haml): %script
我在 Rails 应用程序中使用 UJS 时遇到问题。我需要动态地将内容添加到表格中。问题是,即使是警报功能也无法启动。这是一段代码:_form_index.html.erb
我正在使用带有原型(prototype) ujs rails.js 脚本的 Rails 3.0。 我有一些 link_to "...", :remote => true在页面加载后添加到页面的链接,因
我正在尝试触发远程链接的 ajax:success 回调。我使用的是 Rails 3.0.8 和 jquery-rails 1.0.11。我运行 jquery 生成器来安装 javascript。 j
我正在使用 Rails UJS 根据我单击的链接将部分加载到容器中。我已经一切正常(请参阅我对问题 here 的回答以获取代码),但我想在加载内容时添加一个微调器。我该怎么做呢?我在 Simone C
Rails 版本:3.2.1 Ruby 版本:1.9.3p125 浏览器:Chrome 18.0.1025.162 开发操作系统:Mac OS/X Lion 服务器操作系统:CentOS 5 我正在尝
我正在使用 JQuery 1.4.4 和 jQuery UJS Rails.js 制作 Ruby On Rails 3.0.3 应用程序 ( https://github.com/rails/jque
sprockets 为 js Assets 做了所有的缩小,但是很多 javascript 是在 respond_to :js UJS 响应中编写的。 在编程时使 javascript 可读也会使浏览
这是一个很奇怪的问题。我有一个 Rails 应用程序,我在其中使用 UJS 将页面上的一个部分替换为另一个部分。最近,它停止工作了,所以我开始记录整个过程,看看它在哪里坏了。这是我发现的: 单击链接后
我有一个使用 data-remote => true 提交的表单。 该表单有一个字段,即文本区域。我想在文本区域长度为 0 时阻止提交表单,并且仅在长度为 GT 1 时允许提交表单。 如何以 Rail
新的和很酷的语法让我可以写: link_to some_path, :remote => true 生成 AJAX 请求。但是如果我需要更长的超时时间(例如 100000 毫秒),我可以在哪里设置呢?
我是一名优秀的程序员,十分优秀!