【问题标题】:Rails YAML and ActiveRecord-Serialization: !ruby/object:Blog <=> !ruby/ActiveRecord:BlogRails YAML 和 ActiveRecord-Serialization: !ruby/object:Blog <=> !ruby/ActiveRecord:Blog
【发布时间】:2012-03-25 20:41:49
【问题描述】:

我正在与捆绑程序一起运行 RVM,但我的开发环境有问题:

  • Rails 3.0.10
  • 红宝石 1.9.2p180
  • 捆绑器 1.1.0

运行时

rails c

y Blog.first
--- !ruby/object:Blog
attributes: [...]

这显然是错误的。我期望这种行为:

bundle exec rails c

y Blog.first
--- !ruby/ActiveRecord:Blog
attributes: [...]

似乎与依赖关系或其他东西混淆了,因为即使我添加了这样的初始化程序:

class ActiveRecord::Base
  def to_yaml_type
    "ruby/ActiveRecord:#{self.class}"
  end
end

在没有bundle exec 的情况下运行rails 时将被忽略。

这很烦人,因为我的 IDE 没有选项在 bundle 上下文中运行网络服务器,例如delay_job,在使用 yaml-output 时总是失败。

【问题讨论】:

    标签: ruby-on-rails serialization activerecord yaml delayed-job


    【解决方案1】:

    您在哪些文件中添加了带有to_yaml_type 的行?
    尝试将它们放入config/environment.rb

    还有一个。
    Parser 可以吃掉这行的第一个字母,开头没有感叹号:

    "ruby/ActiveRecord:#{self.class}"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多