我应该使用Net::HTTP时,我想使POST请求一个动作



我有一个动作create和另一个动作register_and_create。第一个操作创建订阅,第二个操作创建用户和订阅。但是我必须在register_and_create行动中复制create行动的代码。因此,使用Net::HTTPregister_and_create发送POST请求到create动作是很好的做法吗?

不,这不是一个好的做法。

如果是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

相关内容

  • 没有找到相关文章

最新更新