问题标签 [rails-bullet]
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.
ruby-on-rails-3 - 使用 gem "bullet" 修复 "declarative_authorization" gem 中的 N+1 查询
目前我正在开发一个大型 Web 应用程序并使其运行更快,我决定重构所有 N+1 查询(以减少对数据库的请求数量,http://rails-bestpractices.com/posts/29-fix-n -1-查询)。所以我安装了现在不适用于 Rails 3.1.1 的 gem "bullet"(你可以使用来自https://github.com/flyerhzm/bullet的 fork )。在每个页面上使用 declarative_authorization gem 时,我都会收到相同的警报:
您能帮我解决这个问题并加快查询速度吗?
mysql - 在 Rails 3 中渴望加载?
我正在尝试学习如何提高 Rails 应用程序的性能,而我正在研究的第一步是急切加载。
我已经配置了子弹 gem,它显示了我可以在哪里使用急切加载,但是,我不太确定如何使用帮助!
一个示例日志是:
跳出来的行是:
和
我不确定的是,“发现者”的定义是什么。它是视图中的块还是控制器中的块。
以我跳出的第一部分日志为例,控制器如下:
该模型:
请注意,我使用的是旧数据库,因此出现了奇怪的列名等。
该视图包含以下内容:
那么,我应该将其他推荐的列添加到视图“查找器”吗?或者别的地方?
任何帮助,将不胜感激!
ruby-on-rails - .includes 方法不起作用
我已经安装了 gem bullet 来增强我的小应用程序(与 Rails 4 Edge 一起运行)的性能
但是,“.includes”方法似乎不起作用:
这将返回“无法将符号转换为整数”
当我在 Rails 控制台中运行它时也是如此,对于任何关联我都会遇到同样的错误;.includes 已被弃用,还是我做错了?谢谢
这是完整的跟踪:
最后但并非最不重要的一点是,错误在哪里:
文章型号:
ruby-on-rails - Is it possible to show the gem bullet's aleter only when User.id == 1?
I'm using the gem called "bullet" https://github.com/flyerhzm/bullet This help to avoid N + 1 problem.
I'd like to use this in production mode with my account(User.id==1) Is it possible?
I've coded this in /config/environments/production.rb but the alert pops up whoever the users access.
ruby-on-rails - gem bullet 启用/禁用某些路径/控制器
我可以仅为某些路径/控制器启用/禁用 javascript 警报(但甚至可以是日志)吗?
我只找到了如何跳过模型,但没有找到关于路径或控制器的信息。我在 activeadmin 上收到了很多警报,但我无法更改该代码。
例如,我为列 :user_type 行获得一个:(文件 app/admin/admin_users.rb)
ruby-on-rails - 按照建议添加急切负载后,Rails 子弹 gem 变慢
我添加了子弹 gem来建议我在 dev (Rails 4.0.2) 中的任何 N+1 查询它建议急切加载我正在显示其所有记录的模型的两个父关联。
在急切加载这些所属关联之一之前:
急切加载后:
此外,通过预先加载,浏览器会在控制台显示完成并且一段时间(大约 6 秒)没有更新后挂起。服务器生产没有这个冻结问题,但在这种情况下,急切加载仍然是个坏建议。
急切加载可能会变慢是否有意义?该视图确实访问(急切加载的)父记录。
此外,由于某种原因,子弹 gem 不显示调用堆栈。
ruby-on-rails - Ruby on Rails - 子弹/N+1
在 Rails 4 上。我最近为我的开发环境安装了子弹 gem,以清除我的应用程序的 N+1 查询。相关型号:
提交:属于类别和用户。有很多 SubmissionDetails。
用户:有很多提交
类别:有很多提交。属于奖项。
奖项:有许多类别(以及通过类别提交)
SubmissionDetails:属于Submissions
在我提交的索引页面中,我有一个each do
声明来显示当前用户所做的每个提交。
之后,我列出了有关提交的信息,包括其相关类别、奖项和提交详细信息。Bullet 说我对这个声明有 N+1 个问题:
每次我尝试添加.includes
所有这三个模型时,它只会选择我列出的第一个(这并不奇怪)。我想当涉及多个模型时我需要走一条不同的路线——也许是一个加入声明?
(当我将 :category 设为第一项时,它会添加此通知):
(因此,我还需要在声明中包含一种使 Award 也适合其中的方法,该方法同样有许多通过类别提交的内容)。
所以假设我不能.includes
为三种不同的模型做一个,还有另一种方法可以解决这个问题吗?谢谢。
ruby-on-rails - Rails 4.1.2 无法安装子弹 gem
我已添加到我的 Gemfile 项目符号 gem:
在我的 development.rb 中我添加了:
当我尝试运行我的 rails 服务器时,我收到以下错误消息:
提前感谢您的帮助。
ruby-on-rails - 使用 Bullet 和 RSpec gem 减少 n+1 查询
将 Bullet Gem 与 RSpec 一起使用的有效方法是什么?现在我觉得如果我将它与我当前的单元测试框架一起使用,我会收到很多通知或测试失败,因为测试本身中的 n+1 个查询与我的生产应用程序中发生的事情无关,例如检查价值或关联。因此,修复 n+1 故障不需要在我的控制器或模型上设置任何内容,而是需要在我的测试设置中设置一些内容以不引发该特定错误,并且我认为我的应用程序没有真正的性能改进。