Cześć,
Chcę aby po kliknięciu w Fast Verification, a następnie Verify przekierowanie było do ostatniego niezweryfikowanego ogłoszenia
Coś źle kombinuję strasznie.
Za dużo poniżej powtórzeń jest. Może jakoś za pomocą parametru.
To co poniżej działa ale jak to zrobić porządnie?
def fast_verify
if Ad.unverified_ads.empty?
redirect_to verifications_path
else
redirect_to fast_verify_info_verification_path(Ad.unverified_ads.last)
end
end
def verify_ad @ad.verify!
end[/code]
Poza tym zastanowiłbym się, czy nie warto zamknąć Ad.unverified_ads.last
w jakiejs metodzie w modelu i dać tam order explicite.
[quote=sarniak]Poza tym zastanowiłbym się, czy nie warto zamknąć Ad.unverified_ads.last
w jakiejs metodzie w modelu i dać tam order explicite.[/quote]
Przepraszam ale zapytam, po co zamykać to w modelu?
Będzie to wyglądać tak?
[code=ruby]class Ad
def self.last_unverified
self.unverified_ads.last
end
end
w widoku i kontrolerze
Ad.last_unverified[/code]
Dlaczego tak zrobić?
Poza tym dostaje błąd przy metodzie load_ad, przy before_fileter powinien być chyba wyjątek dla :index
W tym wypadku ma to niewielką różnicę, ale ja wolę takie rzeczy zamykać, żeby po pierwsze nie mieć zbyt długiego łańcucha, a po drugie, co ważniejsze, piszę do czegoś takiego test i jak ktoś potem zmieni coś w stylu dodanie orderu itp. to test mi wtedy to wyłapie. Za to jak zostawisz to w kontrolerze i później coś zmienisz, to nie ma na to szans. Nie znam aplikacji, może tu nie ma takiego zagrożenia.
Pisałem na podstawie kodu, który wkleiłeś, nie jestem jasnowidzem