Mam kilka kontrolerów z metod, które renderowania widoku indeksu. To powoduje, że piszę render :index
pod koniec większości metod. Oto przykładJak mogę OSUSZAĆ wszystkie te wywołania renderowania: indeks?
def index
@models = Model.find(:all)
end
def new_models
@models = Model.find_by_new(true)
render :index
end
def old_models
@models = Model.find_by_new(false)
render :index
end
Idealnie, chciałbym po prostu przenieść kod renderowania na after filtrem, ale jako kontroler sprawia, że połączenia do renderowania przed pójściem do po filtrze, że nie jest to opcja.
Posiadam dużą liczbę takich kontrolerów, więc rozwiązanie mogłoby usunąć wiele powtarzających się kodów.
Ta aplikacja jest obecnie Rails 2.3, jednak zostanie uaktualniony do Rails 3 w następnym miesiącu lub dwóch. Więc chociaż wolałbym technikę, która działa na 2.3, rozwiązania Rails 3 nadal byłyby doceniane.
tylko uwaga, spróbuj uniknąć connascence znaczenia jak daleko, jak to możliwe. (I tak * nie *, aby użyj tego "słowa" do dzień, ponieważ właśnie dowiedziałem się o connascence **: D **) Patrz http://scotland-on-rails.s3.amazonaws.com/1A03_JimWeirich-SOR.mp4 jeśli zainteresowany – Zabba
To była bardzo dobra rozmowa. Dziękuję za udostępnienie. Mój przykład nie jest żadnym kodem, który napisałem. Po prostu wydawałem losowy kod, ale na przykład niewiele. Cieszę się, że to zrobiłem, bo inaczej nigdy bym się nie dowiedziała o koniugowaniu :-) –