我有一个动作create
和另一个动作register_and_create
。第一个创建订阅,第二个创建用户和订阅。但我将不得不在create
行动中复制行动准则register_and_create
。Net::HTTP
那么使用将 POST 请求从操作发送register_and_create
到操作是一种好习惯create
吗?
问问题
59 次
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 回答