先日、私は Sandi Metz のルールに出くわしました。
呼び出しが Rails コントローラーに着信したとき、実行する必要があることを実行するために 1 つのオブジェクトのみをインスタンス化できます。
まだ Rails を使い始めたばかりですが、コントローラーのメソッドに匂いがあるといつも思っていましたが、これでそれが確認されました。親モデルのダッシュボード ビューがあり、子 (別のモデル) と子の課題 (別のモデル) に関する情報がすべて異なるコントローラーで表示されます。これは、コントローラ メソッドの 1 つの例です。
def dash
@parent = current_user
@children = @parent.children
@completed_challenges = @parent.assigned_challenges.where("parent_id =?", @parent.id).where("completed =?", true)
@validated_challenges = @parent.assigned_challenges.where("parent_id =?", @parent.id).where("validated =?", true)
@enabled_rewards = @parent.enabled_rewards.where("parent_id =?", @parent.id)
end
複数のリクエストを送信して、これらすべてのオブジェクトを 1 つのリクエストにまとめるのではなく、それぞれのコントローラーから取得できるかどうか疑問に思っていました。Ajax でこれを実行できることはわかっていますが、ページの読み込み中に複数の http 要求を実行する方法はありますか?
助けてくれてありがとう!