これは一種の「ベスト プラクティス」の質問ですが、それが良いプラクティスではない場合でも、このタイプのコーディングを行うことの意味を知りたいです-使いやすさ、スケーラビリティの観点から
http://rails-bestpractices.com/posts/24-move-code-into-controllerによると
ビューから変数をインスタンス化するのではなく、最初にコントローラーでインスタンス化する必要があります
その代わりに、対応するコントローラーにある<% @posts = Post.find(:all) %>
必要があります @posts = Post.find(:all)
コードで rails best practice gem を実行すると、次のような行でエラーが発生しました
<% @msgs_by_sender.keys.each do |uid| %>
<% @user = User.find(uid) %>
これは基本的uid
に、コントローラーで以前に計算された配列の配列から取得された user_id です。次に、uid を取得したら @user を取得するので、作業が簡単になります
私の質問は、このコードが機能し、何も爆発しなかったことを知っているので、そのままにしておいてもかまいません。しかし、代わりにこの種のラインを使用することには、長期的な利点がありますか?
@users = User.find(@msgs_by_sender.keys)