首页 > 解决方案 > 用于 ActiveRecord_Relation 的 Rails 未定义方法“sanitize_sql_array”

问题描述

我最近在我的工作机器上重新安装了我的操作系统,拉出了我现有的 Ruby on Rails 项目,并在我的应用程序的某个页面上收到以下错误:

undefined method `sanitize_sql_array' for #<Property::ActiveRecord_Relation:0x007fb0c1780630>
Did you mean?  sanitize_for_mass_assignment

我不确定问题是由什么引起的,我找不到任何相关信息。

违规行显然是count_data = @properties.group_by_month('properties.created_at', format: "%b %Y").size

@propertiesActiveRecord_Relation在哪里。

我在 Rails 版本5.1.6.1和 ruby​​ 上运行2.4.1

group_by_month方法由groupdate gem提供

关于这个问题是由什么引起的任何想法?如果我可以提供任何其他信息,请告诉我。

更新:

我已经弄清楚了问题所在。我没有安装 mysql 时区支持,这导致 groupdate gem 创建错误。最新版本的 gem 无法像以前的版本一样在错误中通知您安装时区支持。

标签: ruby-on-railsactiverecord

解决方案


正如我在原帖中所说:

我已经弄清楚了问题所在。我没有安装 mysql 时区支持,这导致 groupdate gem 创建错误。最新版本的 gem 无法像以前的版本一样在错误中通知您安装时区支持。


推荐阅读