问题标签 [active-relation]

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 投票
0 回答
66 浏览

ruby-on-rails - 有没有办法检查给定的 SQL 是否在 Rails 中执行

我想知道,有没有简单的方法可以检查给定的 SQL 是否在当前请求中执行?

假设我有

显然我可以检查日志,但我想知道是否有内置的解决方案。

我也可以检查实例变量是否@yummiest_candies存在,但想知道是否有检查 SQL 的解决方案

问题2: 你认为下面的代码值得做吗?(可能在非常复杂的情况下)

谢谢

0 投票
1 回答
29 浏览

sql - 如何从 Rails 中的集合中获取集合?

我收集了有帖子的用户,我想从所有用户那里获取所有帖子。有没有办法做这样的事情:

Active 和 visible 都是我自己编写的特殊作用域。

0 投票
2 回答
46 浏览

sql - 有查询工作但想要 ActiveRelation

Aprojectlegacy_usersgroup_usersgroup_users必须通过groups才能获得users。我想构建一个project.users将这些查询组合为一个arel。

这里是Project

这是sql Project.find(1).legacy_users

这是sql Project.find(1).group_users

通过简单地添加一个OR条件INNER JOIN "project_accesses",我得到了我想要的。Project.find(1).users

基本上我只是改变了让查询做我想做的事:

问题是现在,这只是一个传入的字符串find_by_sql,我不知道如何使它成为一个合适的 Arel。

提前感谢您的帮助!

0 投票
2 回答
7290 浏览

ruby-on-rails - 活动关系中的 Ruby on Rails 错误,NoMethodError: undefined method 'methodname' for #

这是具有 1 对 1 关联的两个模型的代码

下面是第二个模型:

当我去 Rails 控制台并从 db 获取用户时,通过

我得到了一个用户。现在我想获取与 a 关联的 e_user(如果有的话,它应该返回它或返回 null),但是当我在控制台中键入 a.EUser 时收到错误消息,错误是

问候

0 投票
1 回答
26 浏览

ruby-on-rails - 在 HTML 中显示 ActiveRelation 找到的记录

我想在 html 中显示以下行返回的记录,

我如何在 html 中显示这些?

0 投票
1 回答
460 浏览

ruby-on-rails - 保存对象集合 rails 4(强参数)

我目前在商店的后端工作。客户希望能够在一次提交的表单中查看所有产品的列表并更新所有产品的库存值。我有一个可行的解决方案,但它非常“hacky”并引入了很多问题。我是 Ruby on Rails 和 Web 开发的新手,所以我仍然在学习一些基本的约定,还有什么不知道的。

我将粘贴我的工作解决方案,然后尝试解释我遇到的问题:

stock_controller.rb

股票指数.html.erb

当我点击提交按钮时,参数设置为:

安慰 :

正如您从日志中看到的,authentity_token 和其他参数是不允许的。现在我了解了令牌和其他参数的目的,我不知道,为什么我会遇到这个问题。

我的猜测是我允许参数的方式。我不知道如何告诉 strong_params 允许哈希数组:stock => [{:current_stock, :product_id},{:current_stock, :product_id}, ..., ....]. params.permit(stock: [:current_stock, :product_id])???

在这种情况下,将库存嵌套在产品下是没有意义的,因为我正在处理与单一产品相对的产品集合。

在理想情况下,我希望能够在一次提交中插入所有产品的新库存值,并通过一次查询保存到数据库中。我觉得 Ajax 可能是一个可行的解决方案,但同样,在我完全理解发生了什么之前,我不想让事情变得更加混乱。

非常感谢任何解决方案或建议。我希望以上是有道理的!有时很难把这些东西说清楚。

0 投票
1 回答
157 浏览

ruby-on-rails - 在多态 has_one 上使用 ActiveRelation 和 :joins 来隐式创建关系

我们可以像这样使用 ActiveRelation:

但它不适用于具有多态 has_one 关联的连接:

是否可以提取 active_relation 参数,将它们传递给 MyModel 以在 before_create 中使用并使用它们构建相关模型?

0 投票
2 回答
851 浏览

ruby-on-rails - Rails - 有没有办法为模型的 ActiveRecord::Relation 查询设置一个可覆盖的“默认”过滤器(即预运行类方法)?

我有一组记录要从另一种格式推送到数据库中。根据我的记录所谓的唯一 ID,我推送到我的数据库中的一些记录正在回滚,因为它说它们是重复的。但是我检查了它,虽然它们非常相似,但记录中存在差异,表明在将数据放入数据库之前处理数据时我的错误或这个特定州政府在维护具有重复的数据库方面的错误同一实体的记录。我现在不确定。

我想将此官方记录/列表中的所谓“重复项”存储在我的数据库中,但用布尔列标记它们,然后可以使用该列(基于 nil/true 区分)过滤掉我的所有 ActiveRecord默认情况下查询该模型。

理想情况下,这将允许我做一些会导致如下行为的事情:

有什么办法可以做到这一点而不会破坏得太严重?

0 投票
2 回答
65 浏览

mysql - 用于检查多个条件的导轨

是否有任何捷径可以在 Rails 中纠正以下查询:

谢谢

0 投票
2 回答
61 浏览

mysql - sql: DISTINCT 给我重复的结果

您好我正在使用以下查询

它给了我这样的结果: ["(8,9)", "(8,84)", "(9,8)", "(84,8)"]

这里 "(8, 9)" 和 "(9, 8)" 的返回值不同,但我只想要一条记录。意味着结果应该像

["(8,9)", "(8,84)"] 那么我该如何实现呢。

更新

我想要 id 为 1、2 的结果。实际上这是对话视图,所以我要么是发送者(user_id),要么是接收者(commentable_id)。如果我是 id 为 8 的用户,那么在我的对话视图中,我将只有两个 id 为 9 和 84 的用户。

谢谢