0

教育を受けるために、GETアクションとPOSTアクションの両方に1つのコントローラーメソッドを用意するのが良い方法であるかどうかを知りたかったのです。たとえばdef signup ... end、フォームを表示し、request.post?trueの場合はすべてのビジネスロジックを実行します。それは良いアプローチですか、それともこれらのメソッドを互いに分離する必要がありますか?

アドバイスありがとう!

4

3 に答える 3

1

どちらの方法でも、コード編成にほとんど違いはありません。

別のメソッドを使用すると、次のようになります。

def signup_create
  # create here
end
def signup_new
  # render here
end

同じ方法で、次のようになります。

def signup
  if request.post?
    # create here
  else
    # render here
  end
end

どちらもかなりよく整理されているようです。お好みのものをお選びください。それらがデフォルトのCRUDメソッドである場合、すでに考えられている個別の名前があることを考えると、個別のメソッドが適しています(newvs createeditvsupdateなど)。

それらがCRUDまたはページ上の追加のフォームではなく、その名前が1つしか考えられない場合(のようにsignup)、名前をオーバーロードして同じ方法を使用してください。

于 2012-09-06T08:59:36.033 に答える
0

メソッドベースの承認(cancanなど)を使用している(または使用する予定である)場合は、異なるリクエストに対して個別のアクションを実行する方がよいと思います。

于 2012-09-06T09:14:51.947 に答える