技術

[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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

[Rails] deviseのパスワード認証を半角英数字だけ許可する

こんばんは ログイン機能を作る時ってdeviseが便利ですよね。 ですが、デフォ …

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

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

Local by Flywheelでローカルに本番環境を作るときのエラーを解消する

こんにちは Local by Flywheelはwordpress環境をローカル …

no image

【ionic】Android build Error: Uh oh!(ええとああ!)

どうも中田です。 環境をいろいろとupdateしたら $ionic build …

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

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