dodać do routes.rb? możesz mi wyłożyć jak totalnemu idiocie (po kilku godzinach je*** się z tym mam wrażenie że nim właśnie jestem) jak to zrobić? kontroler już ogarnę, tylko co z tym routes? Poza tym to co napisałem działa, i faktycznie wywala wszystkie komenty, tylko że zamiast po kliknięciu na link, robi to przy każdym możliwym przeładowaniu strony (np. dodanie komenta/odświeżenie strony)
Widzę, że kolega nie rozróżnia podstawowych rzeczy jak wywołanie metody usuwającej, a wywołanie metody tworzącej url.
Polecam zapoznanie się z programowanie w ogóle i oczywiście z API Railsów.
Jednak pomijając ten fakt, to Ruby jest jest jednak dość ekspresyjny i chyba nawet nie znając się na programowaniu, każdy domyśli się co może robić polecenie @post.comments.delete_all, nieprawdaż ?
Dziękuję za odpowiedź i zainteresowanie, i skoro już pośmialiśmy się z mojej głupoty to chciałbym nadmienić że nie zaskoczyło mnie działanie tego polecenia, a fakt że jest wykonywane automatycznie przy każdym odświeżeniu strony mimo iż w owy link nikt nie klika.
W przypadku użycia button_to sytuacja jest ta sama, i posty również zostają usunięte i nie dziwi mnie to że zostają usunięte tylko to że usuwają się mimo NIE KLIKANIA PRZYCISKU, a jedynie odświeżenia strony, lub dodania kolejnego komenta, co powoduje przeładowanie strony.
Programowanie webowe, to nie to samo co zwykłe programowanie desktopowe. Nie znam platformy programowania aplikacji webowych, w których byłby możliwy scenariusz o którym piszesz. Czy to będzie JSP, czy PHP, czy Ruby on Rails - wszędzie powyższy kod spowoduje usunięcie wszystkich komentarzy w momencie renderowania widoku.
Może się to wydawać dziwne, jeśli wcześniej programowałeś aplikacje desktopowe, bo tam kod “handlera” był wywoływany po naciśnięciu na guzik. Niestety w prog. webowym obsługa wszelkiej interakcji musi być rozbita na dwa elementy - przygotowanie akcji, jako elementu strony html (najczęściej jako link), a potem obsłużenie żądania, które powstaje po kliknięciu tego linku (czyli akcji kontrolera).
Niestety nie da się (choć może byłoby to fajne) zrobić tak, żeby treść akcja mogła być definiowana w widoku. W widoku możesz jedynie podać jaka akcja ma się wykonać, ale nie możesz jej zdefiniować!
apohllo, dziękuję za rzetelną odpowiedź. Teraz już rozumiem co jest grane i gdzie popełniłem błąd i cieszę się że ktoś dosadnie mi to wytłumaczył, bez podśmiechiwania Pozdrawiam!