Problem z acts_as_commentable
W ostatnim projekcie użyłem wtyczki act_ac_commentable. Ale nie wszystko szło gładko. W widoku komentarza odwołanie do obiektu użytkownika przy pierwszym załadowaniu komentarza działało – ale gdy strona została przeładowana występował błąd undefined method (+ nazwa metody, która, była zdefiniowana dla klasy User). Szperanie po Googlach zajęło troszkę czasu … więc spieszę wyjaśnić problem. Otóż wtyczka ta definiuje model comment – co istotne, definiuje go w katalogu lib wtyczki – co sprawia, że Ruby (i Railsy), mimo iż comment należy do obiektu typu User i definiuje belongs_to, nie przeładowywują obiektu comment przy każdym zapytaniu – tak jak dzieje się to z obiektem user.
Rozwiązanie: przenieś coment.rb z katalogu wtyczki do kadalogu app/models – to wszystko.
Rozwiązanie podał Jan Krutisch na swoim blogu. Trudno było je znaleźć, gdyż Jan miał problem objawiający się komunikatem “User expected, got User” – dość enigmatycznym, aczkolwiek wynikającym z tego samego błędu zdefiniowania modelu w katalogu wtyczki.










Zostaw odpowiedź!
Musisz się zalogować aby móc komentować.