2016-07-07 2 views
1

Я строю рубин на приложении rails, и у меня есть довольно большие контроллеры.Сделать частичное в контроллере

Теперь у меня есть те же действия, которые нужно выполнить над действием create и действием delete, поэтому я блуждал, если можно сделать это СУХОЙ. Или это возможно только с точки зрения?

ответ

1

Есть несколько способов, вы можете достичь этого:

  1. Переместить все модели код, связанный к вашим моделям и вызова действию на моделях в контроллере. Это отличный способ очистить контроллер, особенно если вы запрашиваете модель для общих вещей.
  2. Создайте личные действия в вашем контроллере, чтобы уменьшить дублирование кода.
  3. Вы можете создавать методы внутри модуля и импортировать модуль в контроллер. Это должно уменьшить размер вашего контроллера, а также сделать его СУХОЙ (вы даже можете повторно использовать этот модуль в разных контроллерах).

    module MyModule 
        def my_method 
        end 
    end 
    
    # in controller 
    include MyModule 
    
0

Вы можете создавать только частичные изображения. Повторение кода в контроллере можно сделать DRY, написав аналогичную часть кода как метод в модели и называя его как можно большим количеством действий в контроллере.

0

У rails4 была папка под названием concern, вы можете использовать concern, чтобы разделить код на контроллере.

Вы можете обратиться о озабоченности по адресу: concern

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