0

我有一个动作create和另一个动作register_and_create。第一个创建订阅,第二个创建用户和订阅。但我将不得不在create行动中复制行动准则register_and_createNet::HTTP那么使用将 POST 请求从操作发送register_and_create到操作是一种好习惯create吗?

4

1 回答 1

1

不,这不是一个好习惯。

如果是 GET 方法,您应该执行操作代码并将重定向返回到第二个操作。

对于 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 回答