# 的未定义方法“type_cast”(NoMethodError)

2024-05-02

ActiveRecord::ConnectionAdapters::Column曾经有一个方法叫做type_cast它接受一个字符串并将其转换为“到适当的实例”。这似乎在某个时候被删除了,我不知道应该做什么来替换它。

这是使用它的代码:

  # Create a column that will be responsible for typecasting
  @column = ActiveRecord::ConnectionAdapters::Column.new(attribute.to_s, options[:default], @type == 'any' ? nil : @type)

  # Typecasts the value based on the type of preference that was defined
  def type_cast(value)
    if @type == 'any'
      value
    else
      @column.type_cast(value)
    end
  end

我正在使用 Rails/ActiveRecord 4.2.10。

这里有一个列表:类型转换的替代方案 https://apidock.com/rails/ActiveRecord/ConnectionAdapters/Column/type_cast,但据我所知,它并不是特别有用。

ETA:目前,我已从原始 type_cast 复制了代码并对其进行了修改以在本地使用。但如果有一个真正的解决方案,我更愿意这样做。


ActiveRecord::ConnectionAdapters::Column#type_cast被删除/移动到 API 的其他部分,包括诸如type_cast_for_database or type_cast_for_schema.

您可以使用type_cast但在连接上,像这样:

@column = ActiveRecord::ConnectionAdapters::Column.new(attribute.to_s, options[:default], @type == 'any' ? nil : @type)

# Typecasts the value based on the type of preference that was defined
def type_cast(value)
  if @type == 'any'
    value
  else
    ActiveRecord::Base.connection.type_cast(value, @column) # <---- HERE
  end
end

您可以在以下位置深入了解内部结构:_type_cast https://apidock.com/rails/v4.2.7/ActiveRecord/ConnectionAdapters/Quoting/_type_cast and 类型转换 https://apidock.com/rails/v4.2.7/ActiveRecord/ConnectionAdapters/Quoting/type_cast如果你好奇的话。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

# 的未定义方法“type_cast”(NoMethodError) 的相关文章

随机推荐

  • apache solr:group by 产生的数据总和

    我们有一个要求 需要按特定字段对记录进行分组 并获取相应数字字段的总和 前任 select userid sum click count from user action group by userid 我们尝试使用 apache solr
  • 使用 Windows 身份验证的 User.Identity.Name

    我的标题中有一个非常简单的部分视图 称为 AccountInfoPanel 它只有一行 Welcome HttpContext Current User Identity Name 在我的 Web Config 中我有
  • Azure WebJobs - 我可以使用异步方法吗?

    我想知道Azure WebJobs SDK是否可以触发异步方法 目前我有一个如下所示的方法 class Program static void Main string args var host new JobHost host RunAn
  • 使用 Kotlin for Android 编写库有开销吗?

    我正在考虑将 Java Android 库移植到 Kotlin 我真的很喜欢 Kotlin 相对于 Java 的好处应该可以减少库中的错误数量 由于该库面向资源受限的环境 我担心将库移植到 Kotlin 会产生额外的开销 与 Java 库相
  • 为什么 C++ 中的 rand() 函数不是真正随机的

    我制作了非常简单的随机函数 并将结果保存在文件中 我使用该程序创建了两个不同的文件 并且它们中的信息完全相同 为什么会发生这种情况 这是我的简单程序 include
  • spring 类路径资源中的相对路径

    我有一堆 spring 配置文件 所有这些文件都位于各个子包的 META INF 目录下 我一直在使用如下所示的导入
  • 作为实例方法调用时行为不同的类方法?

    我想知道是否可以创建一个在作为类方法调用时与作为实例方法调用时表现不同的方法 例如 作为一个技能提高项目 我正在写一个Matrix类 是的 我知道已经有非常好的矩阵类 我为它创建了一个类方法 名为identity它返回指定大小的单位矩阵 现
  • 如何在表单中知道在用户控件中单击了哪个按钮[重复]

    这个问题在这里已经有答案了 我有一个 Windows 窗体和一个用户控件 用户控件具有三个按钮 我想知道我的用户控件的哪些按钮已被单击 我需要获取单击的按钮的名称 以启动特定的过程 在表格1中 if User Control1 Button
  • 用于发布 APIM 开发人员门户的 Powershell 脚本[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 I am planning to publish the developer portal using powershe
  • 在什么情况下使用html 5的
    标签来代替

    你在什么场景下使用 section html 5 的标签 代替 div 章节的示例包括章节 选项卡式对话框中的各个选项卡式页面或论文的编号部分 网站的主页可以分为介绍 新闻和联系信息几个部分 部分元素表示通用文档或应用程序部分 部分元素不是
  • REDIRECT URIS OAuth 2.0 是否有命名标准?

    我只想知道 REDIRECT URIS 是否有命名标准 Twitter LinkedIn Microsoft Facebook 和 Google 何时使用 OAuth 2 0 因为 如果我这样写我的域名 http domain com ac
  • 从heroku 中删除“server”和“via”标头?

    当我向本地服务器发送请求时 这是我的响应标头 Connection close Content Length 7 Content Type application json charset utf 8 Date Thu 27 Aug 201
  • 随机化节点顺序 xslt

    我有一个包含如下节点的 XML 文件
  • 调用 new SqlConnection() 会挂起程序

    这个把我难住了 我什至没有尝试连接到数据库 当这段代码到达我实例化一个新的 SqlConnection 对象的行时 它只是挂在那里 不会抛出异常或任何东西 我已经尝试将其编译为2 0 3 5和4 0 它们都挂了 当然 它也适用于我的机器和你
  • 为什么我的 git 预提交钩子不修剪行尾的空白?

    我在 Mac Mojave 上 我在 git templates hooks pre commit 创建了一个文件 我想删除我正在提交的文件行尾的空格 我希望这种情况在全球范围内发生在我的所有项目中 A git hook script to
  • 有没有办法为数据表绘制UMAP或t-SNE图?

    我有一个巨大的文件 下面是一小部分数据 如下所示 我想绘制一个 PCA 我可以使用 PCA 函数绘制 PCA 但它看起来有点乱 因为我有 200 列 所以我想也许 t SNE 或 UMAP 效果更好 但我无法使用它们进行绘图 我想在图中显示
  • Python GTK 信号处理程序不工作

    我正在使用 GTK 为 GUI 编写一个 Python 应用程序 我注意到从终端使用 Ctrl C 关闭它不起作用 我发现这是因为一个错误 所以我尝试手动处理该信号 问题是 如果我将默认行为设置为默认行为 则会捕获信号并正确关闭应用程序 但
  • 我如何从 Rust 的 Vec 中获取项目?

    我正在寻找一种方法consumes a Vec并返回一个元素 无需恢复的开销Vec的不变量的方式remove and swap remove do fn take
  • Gradle:根据配置文件加载属性文件

    我想编写一个 gradle 构建脚本 它可以在不同的环境 开发 实时 中工作 在每个环境中 我必须加载不同的属性集 目标目录 数据库等 是否有一种 gr adle 方法可以读取依赖于环境或配置文件的属性文件 您可能想查看Gradle 属性插
  • # 的未定义方法“type_cast”(NoMethodError)

    ActiveRecord ConnectionAdapters Column曾经有一个方法叫做type cast它接受一个字符串并将其转换为 到适当的实例 这似乎在某个时候被删除了 我不知道应该做什么来替换它 这是使用它的代码 Create