问题标签 [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 投票
1 回答
87 浏览

ruby-on-rails - 渲染(:更新)的用例是什么

使用 Rails 控制器,究竟是render (:update)为了什么?

是专门用于定义 RJS 内联还是有更多用途?

0 投票
1 回答
4433 浏览

ajax - Rails 3 form_for :remote => true 不通过 AJAX 提交

我正在尝试通过 AJAX 提交表单。我认为这应该是一件简单的事情,但它坚持以常规形式发布......

更新

这个表单存在于另一个表单中,它不是 AJAX 化的,还是相关的?这会导致问题吗?

我得到的错误

LinkWidgetsController#create 中的参数错误

[/Users/victorstan/Sites/portrait/app/views, /Users/victorstan/.rvm/gems/ruby-1.9.2-p290@portrait/gems/devise-1.5.1/ 中没有 LinkWidgetsController 的默认布局应用程序/视图]

相关代码:

路线

控制器

部分的

0 投票
2 回答
2048 浏览

ajax - 当我的 AJAX 部分加载到 rails 3.1 中时,如何隐藏搜索按钮并显示微调器?

我有一个从 Amazon-ecs API(搜索书籍)返回结果的部分。返回值大约需要 2.5 秒,所以我想添加一个微调器(最好隐藏搜索按钮),但我很难让它工作。

我已经有 javascript 用结果刷新部分。我只想让按钮给我一个微调器(并隐藏搜索按钮),直到部分完成重新加载。

这是我的主视图 (index.html.erb),它呈现部分搜索结果,每个搜索结果都临时添加为 AmazonItems 中的对象:

我唯一的 JS 代码在 update.js.erb 文件中,如下所示:

我确信这很容易,但我无法让它工作。谢谢!

编辑:我的部分“_amazon_returned.html.erb”看起来像

0 投票
1 回答
3626 浏览

ruby-on-rails - link_to 中的“数据类型”参数

是否有任何捷径:

我认为:type=>:html会起作用,就像:remote=>true转换为data-remote='true',但不受支持。

0 投票
1 回答
1052 浏览

jquery - What's the best UJS way of refactoring link_to_function?

I have the following interface for a baseball-draft oriented hobby project of mine that lets a team owner build a set of criteria to rank players on:

ranking_formula

Clicking the attributes will add that attribute to the list, give it an importance factor and a sort direction.

In Rails 2 and Rails 3 (with the prototype helpers) - I did this by having the following:

Where "add_ranking_attribute_link(attributename)" is:

I'm converting this to jquery, but I'm not sure the best way to do it - mainly because of the loop involved. I can do this:

Which is basically just replacing the link_to_function. But is there a better way? The ujs way would have me doing something like:

But that doesn't work out outside the loop because of the attributename handling. I honestly get a bit lost mixing in erb and javascript - and don't know a good way of passing attributename as a param to the javascript function to insert back into the render partial without a fragile cascade of debugging erb and javascript syntax errors, both of which are frustrating to debug.

There has to be a better way though (and I'm sure there's a better interface for this, suggestions welcome!).

0 投票
1 回答
216 浏览

javascript - Rails3 UJS 更新不显示

我无法获得 UJS 调用来更新页面显示。我想在选择框更改时更新 div 的值(我已经到处搜索但无济于事)。

我像这样设置更改功能(我正在使用Haml):

我的控制器具有以下内容:

我的观点有(我正在使用 simple_form):

当 ajax 调用完成时,我检查 DOM 并且值在那里;即,在控制台中:

显示“亚当比尔博”,但该值未显示在我的页面上。

我正在运行 Rails 3.0.9 和 gem jquery-rails 1.0.9;任何帮助找出我忽略的东西都非常感谢!谢谢。

已解决-@iWasRobbed 下面的解决方案有效。但是,基本问题是在更新“#timesheet_worker_name”时使用 val() 而不是 text(),因此我的原始方法也适用于该更改。

0 投票
1 回答
169 浏览

javascript - 带 json 的铁路 UJS

在我对提交的表单的 javascript 响应中data-remote=true,我有这一行:

但是传递给的 argmy_function填充了&quot;,我的 javascript 无法将其解释为对象。我假设我需要以<%=@object.to_json%>某种方式逃脱,但我不知道要使用哪个 javascript 函数。有任何想法吗?

0 投票
0 回答
287 浏览

ruby-on-rails - Rails 和 ajax 更新单页记录

我正在尝试在 Rails 中创建一个编辑页面,它有两个面板,顶部面板有一个包含所有项目的选择框和一个编辑按钮。选择项目并按下编辑按钮时,第二个面板中的编辑表格应在该项目更新的情况下填充。

不幸的是,我似乎无法获得顶部面板右侧的表单模式或支持方法。

我知道如何让它工作,在一个页面上列出所有项目,然后单击一个 link_to edit 将您带到编辑页面,但是将所有项目都放在一个页面上,上面描述的两个面板让我无法理解。

我的第一个表格看起来有点像这样:

第一个问题是它不喜欢在不提供 id 参数的情况下进行“编辑”的表单,它试图告诉我“project_editor”上的“编辑”路径不存在,它确实存在。

我不禁觉得我让这件事变得比它真正需要的复杂得多,但我对铁轨的有限接触让我碰到了一堵砖墙。

任何指向任何可能帮助我使这种模式工作的 doco 的指针都将非常感激。

0 投票
1 回答
1773 浏览

jquery - 使用 Ajax 的 Rails Kaminari 分页

我在使用 Ajax 分页时遇到问题。我的视图代码寻找分页看起来像

但是,AJAX 调用失败并显示错误状态代码,Web Inspector 显示如下 在此处输入图像描述

服务器日志显示

有趣的是,如果我向同一页面添加超链接,例如

该链接看起来与 Kaminari 生成的链接完全相同,并且 Ajax 调用成功,没有任何问题。更有趣的是,如果我将生成的分页链接从

这与 AJAX 无关,该链接再次正常工作。

在 Kaminari 渲染链接之前发生的 jquery-ujs 魔术是否与使用 ActionView Extensions 和 ActionView Context 生成分页链接标签有关?非常感谢您对此问题的任何帮助!

0 投票
1 回答
337 浏览

ruby-on-rails - UJS - 我将 js.erb 放在哪里?

我的文章可以出现在多个站点上,还有一个带有标题、正文等的文章模型和一个带有 site_id、site_name 等的站点模型,我有一个 article_site_permission 模型,带有 article_id、site_id 和可见,可以是 true 或错误的。

在我的文章编辑页面上,我做了一个 button_to:

这有效 - 它将权限更改为 false。我可以显示相反的显示按钮。

现在我想通过添加:remote => true到按钮链接来刷新其中包含按钮的 div。但是我在哪里放我的javascript?

它是否在 article_site_permission 视图中 - 即使我正在查看文章本身的视图?它被称为 update.js.erb 吗?

谢谢你的帮助。


为清楚起见更新。

我的按钮在文章/编辑页面上。该按钮更新 article_site_permissions。我想返回文章/编辑并刷新其中包含按钮的 div。

我必须为 article_site_permissions 编辑更新控制器,但是我在哪里放 js 来刷新 div?