未在Ruby中初始化的对象

克莱曼

我在Rails中工作,并且有以下课程:

class Player < ActiveRecord::Base
    attr_accessor :name, :rating, :team_name
    def initialize(name, rating, team_name)
        @name = name
        @rating = rating
        @team_name = team_name
    end
end

当我跑步时

bundle exec rails console

并尝试:

a = Player.new("me", 5.0, "UCLA")

我回来了:

 => #<Player not initialized>

我不知道为什么Player对象不会在这里初始化。关于该怎么做的任何建议/可能导致此问题的解释?

谢谢,Mariogs

詹姆斯

不知道为什么不会在这里初始化Player对象

它不是完全因为您尚未初始化而初始化的!

您已经重写了ActiveRecord :: Base初始化方法,但是您没有对其进行调用,因此Player类没有正确初始化。

超级叫

class Player < ActiveRecord::Base
    attr_accessor :name, :rating, :team_name
    def initialize(name, rating, team_name)
        super
        @name = name
        @rating = rating
        @team_name = team_name
    end
end

您可能根本不打算覆盖initialize方法,强烈建议不要使用http://blog.dalethatcher.com/2008/03/rails-dont-override-initialize-on.html,您可能想利用after_initialize回调,因此您可以从传入的params哈希中拆分名称,等级和team_rating到任何导致玩家模型首先初始化的方法中

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

未在Ruby中初始化的对象

来自分类Dev

变量未在Java中初始化

来自分类Dev

Ruby 中的未初始化常量

来自分类Dev

在@Shared或setupSpec()中初始化对象

来自分类Dev

在const对象中初始化引用

来自分类Dev

在delphi中初始化对象

来自分类Dev

初始化数组中的对象

来自分类Dev

在const对象中初始化引用

来自分类Dev

Spring框架中的对象初始化

来自分类Dev

Ruby on Rails 4中的“ NameError:未初始化的常量新闻通讯”,但未在开发中

来自分类Dev

Google Analytics(分析)未在Swift中初始化

来自分类Dev

Angular 9 Ivy,NgControl未在指令中初始化

来自分类Dev

Firebase crashlytics未在iOS中初始化

来自分类Dev

属性未在super.init调用中初始化

来自分类Dev

JavaScript未在Drupal块中初始化

来自分类Dev

类的实例未在类中初始化IBOutlets

来自分类Dev

对象初始化

来自分类Dev

改造响应对象中的嵌入式房间实体字段未在运行时初始化

来自分类Dev

Ruby查找已初始化的对象实例

来自分类Dev

如何在VBA中初始化对象的属性的帮助下初始化对象

来自分类Dev

mmenu未在angularjs下初始化

来自分类Dev

Ruby数组初始化

来自分类Dev

Ruby:条件初始化

来自分类Dev

Ruby类初始化

来自分类Dev

Ruby:结构与初始化

来自分类Dev

Ruby类初始化

来自分类Dev

在初始化列表中初始化许多对象成员变量

来自分类Dev

Observables在扩展器中初始化/附加到Observable,未在页面加载时初始化

来自分类Dev

数组对象无法在Ruby中初始化为数组