1

を使用する理由は何before_filter :loadですか?

def load
  @posts = Post.all
  @post = Post.new
end

これは何を達成しますか?チュートリアルでそれが行われているのを見たばかりで、それが有益かどうかわかりません。

4

1 に答える 1

1

この場合、コントローラー内のすべてのメソッド呼び出しに対して load メソッドが呼び出されます。つまり@posts@post上記のコントローラーのすべてのアクションで使用できます。私がそれらを使用することは非常にまれです。それを必要とするアクション内で呼び出しload、load メソッドを private に移動するだけで十分です。

コントローラー内のすべてのアクションを使用できるようにしたい場合、これは許容できる解決策@postsです。@post

あなたはいつでもできるbefore_filter :load, only: [:index]

于 2013-06-03T21:59:57.973 に答える