【问题标题】:Should I use Net::HTTP when I want to make POST request to an action当我想对一个动作发出 POST 请求时,我应该使用 Net::HTTP
【发布时间】:2013-03-13 21:45:43
【问题描述】:

我有一个动作 create 和另一个动作 register_and_create。第一个创建订阅,第二个创建用户和订阅。但是我必须将create 操作的代码复制到register_and_create 操作中。那么使用Net::HTTP 将POST 请求从register_and_create 发送到create 操作是一种好习惯吗?

【问题讨论】:

    标签: ruby ruby-on-rails-3 ruby-1.9.2 net-http


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2020-04-16
      • 2018-11-04
      • 2011-06-22
      • 2013-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-05
      相关资源
      最近更新 更多