0

私にはアクションcreateと別のアクションがありregister_and_createます。最初はサブスクリプションを作成し、2 番目はユーザーとサブスクリプションを作成します。createしかし、行動規範を実際にコピーする必要がありますregister_and_createNet::HTTPPOSTリクエストregister_and_createcreateアクションに送信するために使用するのは良い習慣ですか?

4

1 に答える 1

1

いいえ、それは良い習慣ではありません。

GET メソッドの場合は、アクション コードを実行し、リダイレクトを 2 番目のアクションに戻す必要があります。

POST メソッドの場合、すべてのコードを実行する必要がありますregister_and_create。送信NET:HTTPは多くの問題を引き起こす可能性があります - すべての HTTP ヘッダーを割り当てたことを確認する必要がある、不要な要求がサーバーに来るなど。

コードの共通部分を見つけた場合は、コードをlibモジュールに移動includeしてコントローラーで使用することをお勧めします。

例えば:

module RegistrationModule
  def create_user
    # your code goes here
  end
end

class RegistrationController < ApplicationController
  include RegistrationModule

  def register_and_create
    # subscribe
    create_user
  end

  def create
    create_user
  end
end
于 2013-03-24T11:25:52.777 に答える