У меня есть действие create
и другое действие register_and_create
. Первый создает подписку, а секунды создают пользователя и подписку. Но мне нужно будет скопировать код create
action в действии register_and_create
. Так хорошо ли использовать Net::HTTP
для отправки запроса POST от register_and_create
до create
?Должен ли я использовать Net :: HTTP, когда хочу сделать запрос POST к действию
0
A
ответ
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
Тhanks для ответа :) –