问题标签 [rails-ujs]

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 投票
3 回答
2889 浏览

ruby-on-rails-5 - 将 Rails 从 Asset Pipeline 迁移到 Webpacker:未捕获的 ReferenceError:$ 未在 rails-ujs.js 中定义

我正在从使用资产管道迁移到 Rails 5.2 中的 webpacker。我的 AJAX 响应都Uncaught ReferenceError: $ is not defined在浏览器控制台中导致 rails-ujs.js 错误。

我已经设置了我的 webpacker 环境以包含 jquery。

我在 ../packs/application.js 中导入了 rails-ujs 和 turbolinks

然后我尝试在请求完成后添加一个类。类似于 Rails 指南中显示的内容 https://guides.rubyonrails.org/working_with_javascript_in_rails.html#server-side-concerns

我的 show.js.erb 文件看起来像这样

我收到一个错误

0 投票
1 回答
124 浏览

ruby-on-rails - rails ujs调用类的子集

除了在 r​​ails 5 应用程序中调用 jQuery3 之外,类Usercontent具有通过使用 turbolinks 的 AJAX 调用生成和显示的记录,基本上是 rails 方式。

但是有两种呈现情况,一种用于类的所有对象 ( usercontent),另一种用于子集 ( point),在同一页面上,但在选项卡中,具有两种不同的形式和以下usercontents.jsjavascript。

控制器声明两个集合

该视图对集合有两个不同的调用

谁又通过 AJAX 调用要更新的单个项目 _point.html.erb(两个部分都在 views/usercontents 目录中)

_usercontent.html.erb

问题是前者使用错误的data-js调用呈现“完整”集合:

显然render @points没有正确渲染。如何解决这个问题?

0 投票
5 回答
15837 浏览

ruby-on-rails - 在 JS 模块中使用 Rails-UJS(带有 webpacker 的 Rails 6)

我刚刚切换到 Rails 6 (6.0.0.rc1),它默认使用Webpacker gem 和 Rails-UJS 一起用于 Javascript 资产。我想在我的一些模块中使用 Rails UJS,以便从具有以下功能的函数提交表单:

在安装了 Webpacker 的以前的 Rails 版本中,Rails引用似乎在我的模块中“全局”可用,但现在我在调用时得到了这个Rails.fire……</p>

我怎样才能使Rails特定@rails/ujs模块或所有模块可用?

在我的设置下面…</p>

应用程序/javascript/controllers/form_controller.js

应用程序/javascript/controllers.js

应用程序/javascript/packs/application.js

谢谢!

0 投票
1 回答
29 浏览

ruby-on-rails - 在rails中删除操作后返回什么类

我正在使用rails-ujs删除一个对象,我的目标是在我删除它之后隐藏那个div和那个obj,我以前做过,但是这次我不能得到它,我想我需要知道发生了什么. 正在查看:

在 destroy.js.erb 上:

控制器:

控制台错误:

0 投票
1 回答
164 浏览

ruby-on-rails - Rails 5/JS:如何使验证错误可用于我的 create.js.erb 模板?

我有一个模型叫adventurer. 我可以使用远程表单创建一个:

我的create动作是这样的:

我想在 JS 而不是控制器中处理成功和失败的结果。

知道上面的示例有效,我想对其进行修改,以便它可以处理错误消息。

以下导致控制台中出现错误SyntaxError: Unexpected token '&'. Expected a property name.

这让我相信我没有以正确的方式将 Ruby 集合传递给 JS。如何使#errors.full_messages我的 JS 模板可用?

0 投票
0 回答
641 浏览

ruby-on-rails - 在 TS 模块中使用全局 Rails-UJS(带有 webpacker 的 Rails)

我正在尝试在类似于资产管道中使用Railsfrom 。我想要一个在所有模块中都可用的全局变量。@rails/ujswebpacker ts-loaderRailsRails

目前,我可以通过在每个模块中导入来规避问题,但是,为了解决问题,我们如何制作一个ts-loader不会哭泣的全局模块。

首先,我已经将 jquery 配置为$. 我不明白为什么@rails/ujsasRails没有类似的工作。这是我的(简化的)配置:

相关:这个类似的问题不是我的问题的重复。这个问题没有解决 Typescript。我遵循的答案也没有。但是,它确实修复了我的eslint. 我认为这是一个ts-loader配置问题。

0 投票
0 回答
132 浏览

jquery - How to prevent Rails ujs remote form submit from jumping to top of page?

I have multiple ujs forms on a page, and when clicking submit on the forms lower down on the page, the page jumps back up to the top. All ujs functionality is working correctly, but I'd like the page to stay put after submit. The DOM elements being updated are near the submit button, and not near the top of the page. Is there a way to preventDefault() in the actions js.erb file without wrapping its contents in a function? If not, how can I wrap the js.erb contents in a functions...since I don't need any sort of a lister?

0 投票
3 回答
6277 浏览

ruby-on-rails - 找不到模块'@rails/ujs' - Rails 6 Webpack App

我在 Rails 6 应用程序中有这些错误,并且所有 javascript 都不起作用:

package.json的是:

application.js

app/views/layouts/application.html.erb

它工作正常,但我不知道它何时以及为什么停止工作。有人可以帮助我吗?

0 投票
1 回答
1472 浏览

ruby-on-rails - Rails 6:Rails 未定义

我正在尝试使用 UJS 触发表单提交:

但是,我在 JS 控制台中看到以下错误:

应用程序布局文件指向应用程序 JS 包:

我可以看到它通过控制台日志的输出加载:

据我了解,rails ujs 应该公开该Rails对象。那正确吗?

为什么Rails浏览器无法使用该变量?我需要做什么来确保它是?

0 投票
1 回答
115 浏览

ruby-on-rails - 在新选项卡中打开时,带有 `method` 参数的 Rails `link_to` 会给出 404

使用 Ruby 2.5.1/Rails 5.2.4.1 我生成了一个新的 Rails 应用程序,并编辑/创建了以下文件:

如果我正常单击此链接,它会发出 POST 请求并按预期给出成功响应(204)。

如果我单击以在新选项卡中打开它(中间单击/右键单击和“在新选项卡中打开链接”),它会发出 GET 请求并给出 404/RoutingError。

这种不同的行为取决于我如何打开(默认情况下对用户显示的内容)一个正常链接似乎令人惊讶 - 这是预期的行为吗?我猜这与使用 Rails UJS 的链接有关,并且在打开新选项卡时表现不同?在 Rails 中获取(看起来像)一个生成 POST 的链接的最佳方式是什么,无论它是如何打开的?