2013-03-24 1 views
0

У меня есть действие create и другое действие register_and_create. Первый создает подписку, а секунды создают пользователя и подписку. Но мне нужно будет скопировать код create action в действии register_and_create. Так хорошо ли использовать Net::HTTP для отправки запроса POST от register_and_create до create?Должен ли я использовать Net :: HTTP, когда хочу сделать запрос POST к действию

ответ

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 
+0

Тhanks для ответа :) –

Смежные вопросы