Jestem jeszcze raczkujący w temacie RoR i z góry przepraszam jeśli ktoś poczuje się urażony prostotą mojego pytania, ale proszę o pomoc. Otóż zainteresowałem się ostatnio paperclipem i użyłem go do tworzenia avatarów na swojej stronce. Wszystko pięknie, ale gdy spróbowałem użyć tego narzędzia znowu budując galerie, nie sprostałem sprawie. Obrazki dodają się do bazy, wszystko pięknie, ale czy mógłby mi ktoś powiedzieć jak powinien wyglądać kod który wyświetli je wszystkie?
MODEL
class Gallery < ActiveRecord::Base
has_attached_file :picture
end
Ale jak wyświetli wszystkie? Znaczy każdy z nich po kolei, no to zwykła pętla loop, for czy jak tam chcesz ;]
@galleries.each do |gallery|
image_tag gallery.picture.url(:small)
end
Ten :small w nawiasie to opcjonalny, jeśli masz jakieś dodatkowe style np dla miniaturek, jak nie to bez tego w nawiasie.
Pokaż kod kontrolera, problemem jest prawdopodobnie niezainicjowana zmienna której używasz w widoku (próbujesz wywołać metodę each na nilu). Do widoku wkleiłeś dosłownie to, co gotar napisał?
musisz mieć dostępna zmienną @galleries, jak kolega wyżej pisze. Coś takiego musisz mieć.
@galleries = Gallery.all
To szkielet, możesz a nawet powinieneś to połączyć z jakimś stronicowaniem, by nie ładować niewiadomo ile obiektów na raz, no chyba że masz ich niewiele.
Panowie, dwa słowa do Was: DZIĘKI WIELKIE Faktycznie problemem była nie tyle niezainicjowana, co źle zainicjowana zmienna Poprawiłem tak jak doradził Gotar i wszystko gra i buczy. Obiektów trochę jest i faktycznie stronicowanie będzie tu bardzo dobrym rozwiązaniem, z którym mam nadzieję, że już sobie poradzę, a w jeśli nie, to w razie czego wiem, że jest w necie miejsce w którym znajdą się pomocne i kompetentne, gotowe pomóc osoby. Jeszcze raz wielka dziękówka.