私は比較的Railsに慣れていて、モデルからオブジェクトを作成しようとしています(app/services /で作成したサービスから同じものを試しました)。メソッドやサービスクラスから作成されたrailsオブジェクトは自動的に初期化されません
オブジェクトは作成されますが、オブジェクトのメソッドを呼び出そうとしているページにアクセスすると失敗します(このため、.find(id)を使用して「nil」メソッドに関するメッセージが表示されます) :
私がnil方法のエラーの後、コンソールでオブジェクトをチェックすると、オブジェクトが作成されましたが、すべての変数の型を「ゼロ」に設定されています。私が作成した場合
コンソールと同じクラスの新しいオブジェクトで、オブジェクトには型付きの変数があります。
のトランス(ID:整数、TRANSACTION_ID:整数、sender_idを:文字列、recipient_id:文字列のcreated_at:日時、updated_atの:日時、量:フロート)オブジェクトを作成するコードが
transaction = Trans.new
transaction.find(id)
あります私はモデル内のメソッドの中からこれを呼び出しています。私はすべてをサービスに入れ、その中からサービスオブジェクトを作成することで同じことを試みました。結果は同じです。
これは何らかの理由でコンストラクタ/イニシャライザが呼び出されていないことを意味しますか?私は初期化子を上書きしたり変更したりしていない。
これは私がデータベースを照会することができますようにオブジェクトを作成しようとしているRailsの4
です。