问题标签 [squeel]

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 回答
72 浏览

ruby-on-rails - 如何使用 squeel 对数组的结果进行连接

我已经安装了squeel ,并希望执行以下操作:

我可以对我的分配器进行地理编码,但我通常更喜欢上面的选项,如果可能的话,使用活动记录或活动记录 + squeel。在 Rails 中必须有一些简单的方法来解决这个问题。

0 投票
3 回答
919 浏览

ruby-on-rails - 如何动态生成关联名称?

我正在使用 Ruby on Rails 3.2.2 和 Squeel gem。我有以下陈述,我正在尝试重构Mixin 模块my_squeel_query中的方法(因为它被我的许多模型使用):

我的问题是我无法通过在 Mixin 模块中生成动态名称来重构article_comment_associations和声明。model_as_like_article_comment_associations也就是说,如果那是String我可以通过使用"#{self.class.to_s.singularize}_comment_associations"如下内容动态生成相关名称:

但是,由于这不是我的情况,我不能“建立”名称并使其my_squeel_query在模型之间“共享”。

如何动态生成与 Squeel gem 相关的关联名称?我应该考虑以另一种方式重构吗?你有什么建议?

0 投票
1 回答
582 浏览

ruby-on-rails - 如何在 Squeel 语句中使用动态属性/列?

在我之前的问题中,我最终发现以下代码似乎按预期工作:

是否可以使article_id语句像为table_name变量所做的那样动态?

也就是说,我想做一些类似以下的东西:

0 投票
2 回答
2036 浏览

mysql - Rails 加入和喜欢?

我正在尝试使用 rails 中的连接来检索搜索字段中的一些信息库,但我似乎找不到好的语法,我有两个表节省,产品和节省正在为产品节省。我想要的是根据我发现这项工作的产品名称找到一个节省: Saving.all(:joins => :product, :conditions => { :products => { :title => 'Title Name' } }) 它检索与名为 Title Name 的产品对应的保存。

现在我该如何改变它以找到 product title 包含 params[:title] 的节省?

谢谢,

0 投票
2 回答
784 浏览

ruby-on-rails - 将具有不同连接的多个范围链接到 squeel 中的同一个表

这个问题出现在 squeel 1.0.11 上。我已经提交了一个问题,但认为社区可能已经有了答案。

我的模型中同一个表有两个关系,我在两个不同范围的连接中使用这两个关系。

当这些范围一起更改时,sql 不正确。

SELECT "logs".* FROM "logs" INNER JOIN "users" ON "users"."id" = "logs"."created_by_id" INNER JOIN "users" "updated_bies_logs" ON "updated_bies_logs"."id" = "logs "."updated_by_id" WHERE (("users"."can_admin_logs" = 'f' OR "users"."can_admin_logs" IS NULL)) AND (("updated_bies_logs"."can_admin_logs" = 'f' OR "updated_bies_logs". “can_admin_logs”为空))

我已经修改了各种更改来解决updated_bies_logs问题,但还没有找到解决方案。

1.0.11 的发行说明似乎解决了这个问题,但我更新了我的 gem,问题仍然存在。

0 投票
1 回答
109 浏览

ruby-on-rails - Rails where 语句中的时间计算

我正在尝试在 where 语句中进行一些时间计算。我想选择生命周期已经过去的报价。

它不会抛出任何错误,但也不会返回对象。我正在使用squeel gem。最好的方法是什么?

0 投票
4 回答
364 浏览

postgresql - Squeel 请求和 Heroku、Postgres:使用 GROUP BY 和 ORDER 时出错

我正在使用 mysql 开发我的应用程序,但我使用 Heroku 来部署它并被迫使用 PG。

我对以下语句有疑问:

所以它可以在我的电脑上运行,但是在部署到 heroku 时,我遇到了以下问题:

我真的不知道如何解决这个问题并让它在heroku上工作。

请求的 Gemfile:来源 'https://rubygems.org'

0 投票
1 回答
152 浏览

ruby-on-rails-3 - Request on PostgreSQL with Rails and Squeel

I was advised to create a new question based on my previous one so here it is :

I have on my website a list of product, each user can create his own savings based on these products. So several users can create their own savings based on the same product. So when one user create a saving I add in the database a saving with the user_id and the product_id he refers to. Now, on one page I want to display all the savings from the other users (excluding current_user) but, as many user can create a saving based on the same product I want to display these only once.If several users create a saving based on product X I want it only displayed once,thanks

The saving table has these field :

id product_id user_id price saved

What I did is what is posted on this question : Squeel request and Heroku, Postgres: Error using GROUP BY and ORDER

I cannot get it working properly on heroku (postgres). If anyone can help me writing the query for Rails or for Squeel that would be awesome thanks !

0 投票
1 回答
410 浏览

ruby-on-rails - ruby on rails 连接条件(带 squeel)

我正在尝试使用 Squeel 来比较连接表之间的属性以及一些数学运算。

下面是一个查询示例:

我从 Squeel 收到一条错误消息,提示“TypeError: can't convert Squeel::Nodes::KeyPath into an exact number”

有人知道我在这里做错了什么吗?

0 投票
2 回答
625 浏览

ruby - field = value OR field IS NULL 在循环中的 Squeel 语法

我正在尝试使用循环使用 squeel 重新创建以下语法:

我能够做到这一点:

但是,问题是我想在循环中执行此操作,因此我不必为值为空时执行条件(例如,如果 imdb 没有值,我什至不会使用该行)。

我有这个:

但它并没有把field IS NULL位放在 SQL 中。

如果使用 Squeel 不可能,是否可以使用 ActiveRecord 完成?

最终,我正在寻找一种方法来避免在 SQL 中为这些字段设置条件。正如我上面所说,如果该字段为空,我根本不会列出它们,但如果它有一个值,我需要做全部field = value OR field IS NULL

任何帮助将不胜感激。

编辑:

我目前尝试使用的整个代码是这样的:

请注意,|无论我是否使用,之后的所有内容都会被忽略__send__(k)

更多信息: 一件非常奇怪的事情是,如果我使用除它之外的任何东西,k,v它就会被忽略。例如:

“鲍勃”被忽略了!OR并且值 (v) 在没有语句的情况下被放入 SQL中。