技術

[Rails] モデルが初期化されてないとな(not initialized)

投稿日:

どうも中田です

Railsで、modelの initialize に処理を追加することってよくあるんですが、
エラー出てアレ?ってなることがあって。。
何度もやってるので忘れないようにアウトプット!

例えばこんなの

class TestModel < ApplicationRecord
  def initialize(parameters = {})
    @data = parameters.delete(:data)
  end
  ...
end

これだとうまく動かないんですよね
byebugとかでデバッグしてみると

(byebug) self
#<TestModel not initialized>

あー、あー、なんだっけー、あー
superがないんだ! って話です。

class TestModel < ApplicationRecord
  def initialize(parameters = {})
    @data = parameters.delete(:data)
    super(parameters)
  end
  ...
end

こんな感じで ApplicationRecordinitialize もちゃんと呼んであげてください
今だに気をぬくとやってしまうので、次こそは!

-技術

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

画像生成マシーン「MakeGirlsMoe」の10連結果

女の子の萌え画像を作ってくれる「MakeGirlsMoe」なるものが作られたよう …

wgetコマンドで指定のサイトをダウンロードしてみる。

wgetコマンドって? 下記の形式のコマンドを叩くと、指定のURLからファイルを …

[ Ionic ]Cannot find module ‘../node_modules/xml2js’ でVRプラグインを消せない!

こんにちは。たなかです。 Ionicでandroidをbuild中、下記のような …

[XCode] clang: error: linker command failed with exit code 1

どうも中田です 本日はシンプルに。 XCodeでbuild時に発生しました。 エ …

セレクトボックスにfont-awesomeのアイコンを使うときは注意が必要。

セレクトボックスの中にfont-awesomeのアイコンを表示したい。 そんなと …