问题标签 [jquery-rails]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2354 浏览

ruby - Bundler 找不到 gem "thor" 的兼容版本,但这没有任何意义

当我bundle update昨天运行时,它运行没有任何问题,但今天我收到了这个错误:

这是有道理的,除了 jquery-rails 2.1.4 不依赖于 thor 0.14.0,它依赖于 >= 0.14:https ://rubygems.org/gems/jquery-rails/versions/2.1.4

有什么想法吗?为什么 bundle 认为 thor 依赖于 0.14.0。即使在我的 Gemfile.lock 它说:

我的 Gemfile 包含以下内容:

如果我注释掉标有# conflict?then running bundler updateworks 的行,但我仍然没有找到导致错误的最小 gems 集。

0 投票
0 回答
2427 浏览

ruby-on-rails - 目录不为空@dir_s_rmdir 回形针

我想disable_with在我的提交按钮中实现,所以我这样做:

我的观点:

我的控制器:

我的模型:

它适用于小图像上传,但是当我上传更大的图像(大约 200 KB)时,我收到错误:

但是,如果我将其更改为正常的上传按钮,如下所示:

我上传任何文件都没有错误。我错过了什么?谢谢你的帮助。

更新:

失败后,我单击返回按钮(或返回并刷新)并尝试再次上传它,它可以工作。但是,如果我使用正常的页面流打开页面,它会失败。好奇怪:|

我为调用页面所做的工作:

还有我的 routes.rb

0 投票
1 回答
188 浏览

jquery - 尝试在 Rails 中自动完成我不断收到活动记录 oci 错误

我要做的基本上是对文本框进行自动完成... js 工作正常但是,我在活动记录和 oracle ruby​​-oci8 中一直遇到同样的错误。任何帮助将不胜感激。

这是错误

这是我的视觉模型

这是我的用户模型

这是我的用户控制器

这是我的看法

这是我的路线。

这是我的 app.js

这些是我的表用户表有 emp_id 和可视模型被称为员工表并有 id。我希望自动完成做的是查看 emp_id 文本框,然后在员工表中查找匹配或接近匹配的 ID(如果可能)...

用户模型表

视觉模型表

0 投票
0 回答
72 浏览

jquery - Rails 3.2资产管道在生产和开发中编译不同版本的jquery

我有一个 Rails 3.2 应用程序,在开发环境中一切正常,而在生产环境中(passenger/apache2)我遇到了奇怪的 javascript 问题。

我的宝石文件是:

应用程序/资产中的文件是

和 application.js 是

开发环境负载

生产环境,js文件按如下顺序复制到application.js中:

为什么我在 devel 和 prod 中有两个不同的 jquery 移动版本?开发有效,生产无效。我如何检查 rake assets:precompile --trace RAILS_ENV=production 应该做什么以及它真正做什么?

0 投票
1 回答
421 浏览

javascript - 我在我的 Ruby on Rails 4.2 应用程序中使用 gem jquery-rails 得到一个奇怪的 jQuery ReferenceError

我最近在我的 Ruby on Rails 应用程序中实现了以下 jQuery 脚本。它们都运行 jquery-rails 4.0.4。

当我查看第一行 $(window) 上的页面源时,出现以下错误:

我认为 jquery-rails gem 应该解决这个问题。我最终通过添加以下行来修复错误。

我决定在这里查看 jquery-rails 的文档。它说如果我想使用jQuery2将require语句更改为jquery2。我这样做了,但我仍然得到错误。

我想使用 jquery-rails gem,因为它已针对最新版本的 jQuery 和 jQuery2 进行了更新,而无需在application.html.erb.

更新时间:2015 年 7 月 24 日上午 9:30 CST

这是我对 jquery-rails 的 application.js 语句:

我再次尝试并重新启动了我的服务器并再次部署了应用程序。我仍然得到 ReferenceError。

0 投票
1 回答
58 浏览

ruby-on-rails - 不要将文件复制到 twitter-bootstrap-rails 的项目中

导轨 4.2.4
红宝石 2.1.2

我正在尝试使用twitter-bootstrap-rails
我想以与使用jquery-rails相同的方式使用它

资产/applications.js

在这种情况下,我不需要将任何 jquery.js 或 jquery.css 文件复制到我的项目中,因为 Rails 会从 gem 中为我获取它。

不同的情况是 twitter-bootstrap-rails。

在指南中

Twitter Bootstrap Rails gem 可以通过两种方式提供 Bootstrap 样式表。

纯 CSS 方式是官网提供 Bootstrap 的方式。

Less 方式提供更多自定义选项,例如更改主题颜色,并为您的代码提供有用的 Less 混合,但需要 Less gem 和 Ruby Racer Javascript 运行时(在 Microsoft Windows 上不可用)。

似乎第一种方式更适合我。但在这种情况下,我应该rails generate bootstrap:install static在使用任何 twitter-bootstrap .js 或 .css 文件之前使用生成器。生成器将文件提取到我项目的资产文件夹中。

所以我正在寻找一种如何twitter-bootstrap-rails在我的项目中使用 .js 和 .css 文件而不将它们复制到我的项目文件夹中的方法。我只想添加twitter-bootstrap-rails文件,例如将行//= require bootstrap放入application.js.

非常感谢。

0 投票
1 回答
102 浏览

jquery - 数据方法否定旧 jquery-rails 上的数据确认

我正在使用自定义 jquery-rails 支持运行 Rails 3.2、jquery 1.7 的旧站点(gemfile 说它是 0.2.6 - 但是公共文件夹中有一个自定义的,所以它可能已经更新)

我有一个带有确认的删除链接(data-method=delete)(data-confirm="Are you sure you want to delete this?")。但是,即使我在确认框上单击取消,该项目也会被删除。我猜这只是最近才开始发生的。任何想法为什么这已经开始发生以及如何解决它?

0 投票
1 回答
45 浏览

ruby-on-rails - 相同的条目列表即将到来 railscasts tokeninput

我正在使用 railscasts tokeninput 插件进行自动完成。我希望只有那些不包含在输入字段中的下拉列表中显示的条目

我的 JS 代码是

我的控制器是

结尾

它工作正常,但问题是每次出现相同的列表。让我们假设在 dropdwon 列表中有两个条目 asia 和 africa。将亚洲添加到输入字段后,再次单击字段时会出现亚洲和非洲。

我希望如果条目已包含在输入字段中,则它不能出现在下拉列表中

0 投票
1 回答
116 浏览

jquery - Rails Stripe Form:阻止生成令牌的未捕获参考错误

我正在尝试为我的 rails 应用程序创建一个自定义付款表单。我只是想让一些事情变得简单,所以我在我的视图中制作了最简单的表单,并将Stripe 自定义表单页面中的 javascript直接复制并粘贴到了视图页面中。我知道,这不是最佳实践,但这只是为了测试它。这是表单视图的样子:

每当我提交表单时,都不会生成带有令牌值的隐藏输入字段。我知道是因为在它提交的页面上,当我查看 params[:stripeToken].inspect 时,它出现“nil”。这让我觉得我从 Stripe 网站复制的 javascript 在我的页面上实现时无法正常工作。我认为这个问题与 JQUERY 的加载方式有关。我这么说是因为当我在 Chrome 中加载页面并打开控制台时,我收到以下错误:

这引用了我复制的代码中的“JQuery(function($) {...”。

我在我的 gem 文件中包含了“jquery-rails”gem。我的 application.js 中需要 javascript

我需要它在我的 application.html.erb 布局的头部

为什么javascript可能无法正常工作的任何想法。

0 投票
1 回答
419 浏览

jquery - 如何使用 Rails 默认值和 bower 指定 jQuery 版本?

我的 rails4 应用程序使用 Bower 来管理前端依赖项。唯一不由 Bower 管理的 js 是 jQuery,因为 Rails 默认通过 jquery-rails gem 包含它。

“突然”我的开发环境停止工作,因为经过一些更新,出于某种原因,bower 将 jquery 版本锁定为 3.0.0,如 bower.json 文件所述:

masciugo@masciugcbookpro ~/dev/v/hr_dashboard $ r bower:list I, [2016-06-23T12:58:33.549334 #5308] INFO -- : Celluloid 0.17.3 is running in BACKPORTED mode. [ http://git.io/vJf3J ] /Users/masciugo/.nvm/v0.12.4/bin/bower list bower invalid-meta The "name" is recommended to be lowercase, can contain digits, dots, dashes bower check-new Checking for new versions of the project dependencies... bower-rails generated vendor assets /Users/masciugo/dev/v/hr_dashboard/vendor/assets ├─┬ bootstrap#3.3.4 (latest is 4.0.0-alpha.2) │ └── jquery#3.0.0 ├── bootstrap-horizon#0.1.0 ├─┬ bootstrap-validator#0.9.0 (latest is 0.10.2) │ └── jquery#3.0.0 ├── classnames#2.2.3 (latest is 2.2.5) ├─┬ eonasdan-bootstrap-datetimepicker#4.17.37 │ ├── jquery#3.0.0 │ ├── moment#2.13.0 │ └─┬ moment-timezone#0.5.4 │ └── moment#2.13.0 ├── es6-shim#0.34.4 (latest is 0.35.1) ├── humps#1.0.0 (latest is 1.1.0) ├─┬ jquery-ui#1.10.4 (latest is 1.11.4) │ └── jquery#3.0.0 ├── moment#2.13.0 ├── pubsub-js#1.5.3 ├─┬ react-bootstrap#0.26.4 (latest is 0.29.5) │ └── react#0.13.3 (latest is 15.1.0) ├── react-geosuggest#1.9.1 (latest is 1.24.1) ├── spin.js#2.3.2 └── underscore#1.8.3

查看各个库bower.json文件,它们都没有设置 jquery 的上限,因此下载并使用了最后一个。实际上eonasdan-bootstrap-datetimepicker不适用于 jquery3,因为它使用 .size ()方法。所以我想知道我可以强制使用较低的 jQuery 版本。我最终从 gemfile 中删除了 jquery-rails 并手动添加了 jquery(和 jquery-ujs),并指定了 bower 版本:

{ "lib": { "name": "bower-rails generated lib assets", "dependencies": { // "threex" : "git@github.com:rharriso/threex.git", // "gsvpano.js" : "https://github.com/rharriso/GSVPano.js/blob/master/src/GSVPano.js" } }, "vendor": { "name": "bower-rails generated vendor assets", "dependencies": { "jquery": "<2", "jquery-ujs": "<2", "bootstrap": "3.3.4", "eonasdan-bootstrap-datetimepicker": "4.17.37", "bootstrap-validator": "0.9.0", "moment": "2.13.0", "underscore": "1.8.3", "react-geosuggest": "1.9.1", "pubsub-js": "1.5.3", "spin.js": "2.3.2", "jquery-ui": "1.10.4", "es6-shim": "0.34.4", "classnames": "2.2.3", "react-bootstrap": "0.26.4", "humps": "1.0.0", "bootstrap-horizon": "0.1.0" } } }

获得:

masciugo@masciugcbookpro ~/dev/v/hr_dashboard $ r bower:list I, [2016-06-27T12:09:29.493630 #21386] INFO -- : Celluloid 0.17.3 is running in BACKPORTED mode. [ http://git.io/vJf3J ] /Users/masciugo/.nvm/v0.12.4/bin/bower list bower invalid-meta The "name" is recommended to be lowercase, can contain digits, dots, dashes bower check-new Checking for new versions of the project dependencies... bower-rails generated vendor assets /Users/masciugo/dev/v/hr_dashboard/vendor/assets ├─┬ bootstrap#3.3.4 (latest is 4.0.0-alpha.2) │ └── jquery#1.12.4 (3.0.0 available) ├── bootstrap-horizon#0.1.0 ├─┬ bootstrap-validator#0.9.0 (latest is 0.10.2) │ └── jquery#1.12.4 (3.0.0 available) ├── classnames#2.2.3 (latest is 2.2.5) ├─┬ eonasdan-bootstrap-datetimepicker#4.17.37 │ ├── jquery#1.12.4 (3.0.0 available) │ ├── moment#2.13.0 │ └─┬ moment-timezone#0.5.4 │ └── moment#2.13.0 ├── es6-shim#0.34.4 (latest is 0.35.1) ├── humps#1.0.0 (latest is 1.1.0) ├── jquery#1.12.4 (latest is 3.0.0) ├─┬ jquery-ui#1.10.4 (latest is 1.11.4) │ └── jquery#1.12.4 (3.0.0 available) ├─┬ jquery-ujs#1.2.1 │ └── jquery#1.12.4 (3.0.0 available) ├── moment#2.13.0 ├── pubsub-js#1.5.3 ├─┬ react-bootstrap#0.26.4 (latest is 0.29.5) │ └── react#0.13.3 (latest is 15.1.0) ├── react-geosuggest#1.9.1 (latest is 1.24.1) ├── spin.js#2.3.2 └── underscore#1.8.3

这是一个可接受的解决方案吗?理想情况下,我会在清单 js 文件中指定版本,但我从未见过。我应该如何处理这种情况?