2016-07-07 12 views
1

Ich baue eine Ruby on Rails App und ich habe ziemlich große Controller.Machen Sie Teil in einem Controller

Jetzt habe ich die gleichen Aktionen auf eine Aktion zu erstellen und eine Aktion löschen, so dass ich wanderte, wenn es möglich ist, diese TROCKNUNG zu machen. Oder ist das nur mit Ansichten möglich?

Antwort

1

Es gibt ein paar Möglichkeiten, wie Sie dies erreichen können:

  1. Verschieben Sie alle Modell bezogenen Code zu Ihren Modellen und Rufmodells Aktionen auf Modelle in Ihrem Controller. Dies ist eine großartige Möglichkeit, Ihren Controller zu bereinigen, insbesondere wenn Sie das Modell nach generischen Dingen abfragen.
  2. Erstellen Sie private Aktionen in Ihrem Controller, um die Duplizierung von Code zu reduzieren.
  3. Sie können Methoden innerhalb eines Moduls erstellen und das Modul in Ihren Controller importieren. Dies sollte die Größe Ihres Controllers reduzieren und DRY machen (Sie könnten dieses Modul sogar in verschiedenen Controllern wiederverwenden).

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

Sie können nur Teilansichten in der Ansicht erstellen. Code-Wiederholung im Controller kann DRY gemacht werden, indem der ähnliche Teil des Codes als eine Methode in Model geschrieben und in so vielen Aktionen im Controller aufgerufen wird.

0

In rails4 hatte einen Ordner, der concern genannt wurde, können Sie concern verwenden, um Ihren Code in Controller zu teilen.

Sie über Bedenken beziehen bei: concern

Verwandte Themen