する質問をすることでしか得られない、回答やアドバイスがある。34現在SNSアプリの作成をしている者です。deepとなり、サーバーがストップしてしまいます。こちらが該当のソースコードです。endend参考にしたサイトまた、以下のサイトも参考にし、確認してみましたが当方と異なるパターンだったため、こちらに質問させていただきました。deepのエラーを解決したい開発環境AWSのcloud9を使用しています。どなたか解決方法をご存知の方がいらっしゃればご教示いただけないでしょうか。【追記】モデルのコードを掲載します。}endattachmentクリップ0気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。いつもありがとうございます。モデルのコードを追加しました。ネット上の情報で似たようなものがないか探すのですがなかなかたどり着きません。お知恵をいただければ幸いです。いつもありがとうございます。モデルのコードを追加しました。ネット上の情報で似たようなものがないか探すのですがなかなかたどり着きません。お知恵をいただければ幸いです。件sort評価が高い順sort新着順sort古い順linkcheckベストアンサー0user.rbのアソシエーション(テーブル同士の関連付け)設定が間違っているのかもしれません。:destroyのコードをひとまず削除してみてください。deepの直接の原因だと思います。'user'としてみてください。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。22:33trochさんいつもありがとうございます・・そしてご助言通り試したところなんとアカウントページについにポストが表示されました。本当にありがとうございます。user.rbに原因があったとは思いませんでした。has_manyのところが直接の原因となっていたのかまだ理解できていません...少しこの質問とはずれているかもしれませんが、なぜここが原因だとtrochさんは分かったのですか!?もしお時間いただけましたらコメントください。勉強したいと思います。trochさんいつもありがとうございます・・そしてご助言通り試したところなんとアカウントページについにポストが表示されました。本当にありがとうございます。user.rbに原因があったとは思いませんでした。has_manyのところが直接の原因となっていたのかまだ理解できていません...少しこの質問とはずれているかもしれませんが、なぜここが原因だとtrochさんは分かったのですか!?もしお時間いただけましたらコメントください。勉強したいと思います。17:54エラー解決してよかったです。deepは再帰が深すぎる時に起きるエラーだと思います。(再帰とは繰り返しの一種で、関数の中でその関数自身を呼び出す処理のことです。Hoge.newhoge.deep_stack--------------------↑のようなコードで、deep_stackというインスタンスメソッドを呼び出すと、そのメソッド内でdeep_stackが再び呼び出され、それが延々と繰り返されてしまいます。deepというエラーになるのだと思います。無限ループ状態になるとコンピュータのメモリを大量に消費するので、サーバがストップしてしまうこともあります(今回、ayachikaさんのサーバが停止状態になったのもそれが原因かと。)次にayachikaさんはuser.rbに以下のように書いていました。:テーブル名Bと書くと、中間テーブルBを経由して、テーブルAを呼び出すことが出来ます。User.find(1)@user.posts--------------------を実行するとどうなるでしょうか。@userはUserクラスのインスタンスなので、user.rbが検索されると思います。...という記載があるので、中間テーブルfavoritesを介してpostsテーブルを所有していることがわかります。そこで次にfavoritesについて調べます。:destroyというコードが見つかります。sourceオプションはアソシエーションに別名をつけた際に、throughオプションで中間テーブルを介して最終的にアクセスするモデルを指定します。:postというコードなので、中間テーブルfavoritesを介してpostsテーブルを所有していることがわかります。deepが出てしまった、のだと思います。エラー解決してよかったです。deepは再帰が深すぎる時に起きるエラーだと思います。(再帰とは繰り返しの一種で、関数の中でその関数自身を呼び出す処理のことです。↑のようなコードで、deep_stackというインスタンスメソッドを呼び出すと、そのメソッド内でdeep_stackが再び呼び出され、それが延々と繰り返されてしまいます。deepというエラーになるのだと思います。(今回、ayachikaさんのサーバが停止状態になったのもそれが原因かと。次にayachikaさんはuser.rbに以下のように書いていました。書くと、中間テーブルBを経由して、テーブルAを呼び出すことが出来ます。実行するとどうなるでしょうか。@userはUserクラスのインスタンスなので、user.rbが検索されると思います。いう記載があるので、中間テーブルfavoritesを介してpostsテーブルを所有していることがわかります。そこで次にfavoritesについて調べます。いうコードが見つかります。sourceオプションはアソシエーションに別名をつけた際に、throughオプションで中間テーブルを介して最終的にアクセスするモデルを指定します。いうコードなので、中間テーブルfavoritesを介してpostsテーブルを所有していることがわかります。deepが出てしまった、のだと思います。20:47お返事が遅くなり申し訳ありません。...丁寧なご回答本当にありがとうございます。́;ω;`)今後はそういう観点でも気を付けてコードを書いていきたいとおもいます!ありがとうございます(>_<)お返事が遅くなり申し訳ありません。...丁寧なご回答本当にありがとうございます。́;ω;`)今後はそういう観点でも気を付けてコードを書いていきたいとおもいます!ありがとうございます(>_<)キャンセル完了するlink0使用しているメソッド(例えばloginなど)やassociationが関係している可能性もありますので、モデルファイルも見せていただけると回答しやすいかと思います。%></div>今の情報ではなんとも言えませんが、の行も怪しいかと思います。(post.user.nameは@user.nameでオッケーかとも思います。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。18:57コメントありがとうございます。モデルファイルを掲載しておりませんでした。以前そこの部分については一度削除してサーバーにつないでみたのですが、やはりスタックレベルが深いと出てしまいました。コメントありがとうございます。モデルファイルを掲載しておりませんでした。以前そこの部分については一度削除してサーバーにつないでみたのですが、やはりスタックレベルが深いと出てしまいました。頂いたご意見への回答は行っておりません。