【发布时间】: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