【问题标题】:ActiveRecord AssociationTypeMismatch in rails 4 app, but works fine in version 5Rails 4 应用程序中的 ActiveRecord AssociationTypeMismatch,但在版本 5 中工作正常
【发布时间】:2017-10-04 18:30:28
【问题描述】:

我正在开发一个 ruby​​ on rails 4 应用程序,我在其中安装了一个名为“ahoy”的 gem 用于使用分析。

它给出了一个错误

" ActiveRecord::AssociationTypeMismatch (User(#70304630869100) expected, got Hash(#6226260))"

visit.rb.

class Visit < ActiveRecord::Base
  establish_connection :ahoy_dev
  has_many :ahoy_events, class_name: "Ahoy::Event"
  belongs_to :user
end

我发现当"optional :true" 添加到"belongs_to :user" 行时,它在Rails 5 版本应用程序中运行良好。

但我想要实现的应用程序是 Rails 4。当可选 :true 添加到该行时 belongs_to :user 在 Rails 4 中,它显示 'optional' 不是允许的关键字的语法错误。

如果我现在无法将应用程序升级到 Rails 5,知道如何解决这个问题吗?

【问题讨论】:

  • 哪里出现错误?你能显示将哈希分配给user 关联的代码吗?
  • 服务器端出现错误。
  • belongs_to 关联是引发错误的地方。作业由我猜的宝石负责。

标签: ruby-on-rails ruby-on-rails-4 ruby-on-rails-5 ahoy


【解决方案1】:

你试过了吗?

belongs_to :user,必填:false

【讨论】:

    猜你喜欢
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 2017-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    • 1970-01-01
    相关资源
    最近更新 更多