ruby-on-rails - 用于 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
@properties
ActiveRecord_Relation在哪里。
我在 Rails 版本5.1.6.1
和 ruby 上运行2.4.1
。
该group_by_month
方法由groupdate gem提供
关于这个问题是由什么引起的任何想法?如果我可以提供任何其他信息,请告诉我。
更新:
我已经弄清楚了问题所在。我没有安装 mysql 时区支持,这导致 groupdate gem 创建错误。最新版本的 gem 无法像以前的版本一样在错误中通知您安装时区支持。
解决方案
正如我在原帖中所说:
我已经弄清楚了问题所在。我没有安装 mysql 时区支持,这导致 groupdate gem 创建错误。最新版本的 gem 无法像以前的版本一样在错误中通知您安装时区支持。
推荐阅读
- wso2 - WSO2 IS API 获取服务提供商的用户声明
- php - 如何在 PHP 网站中集成可编辑的 Google 驱动器?
- scala - Spark:Scala 等价于 Java df.filter()
- vue.js - 如何提取Vue项目的每个组件使用的CSS
- java - 从 jlink 映像创建所有包含 windows 可执行文件
- mongodb - 用于选择嵌入对象的 Mongodb 查询
- javascript - 超级代理不返回响应
- css - 如何在智能手机上添加水平滚动条?
- javascript - 为什么此按钮单击另一个按钮不起作用
- angularjs - 创建一个数组,然后在 ng-repeat 之后对数据进行排序