Jesteś pewien, że w zmiennej @ads znajduje się coś? Bo wygląda to tak ajkby była pusta. Pokaż może metodę kontrollera, który ma uruchomić daną templatkę.
class AdsController < ApplicationController
def show
@ad=Ad.find(params[:id])
end
def index
@ads=Ad.all
end
end
W książce jest napisane, żeby ściągnąć ze strony Helionu pliczek development.sqlite3 i umieścić go w folderze db - tak też zrobiłem - wygląda na to, że jest jakiś problem z odczytem z bazy danych
Proponuję zakasać rękawy i przejrzeć chociaż udostępniony fragment https://www.railstutorial.org/book - ja się z niej uczyłem i choć nie jest może najlepszą książką na pewno poprowadzi cię przez stworzenie aplikacji od zera.
Dziękuję za odpowiedź, wiem że ta książka jest najlepsza - mam ją już kupioną, ale chciałem przerobić najpierw tą. Sprawa wygląda tak: tworzę aplikację, model, kontroler, odpalam rake db:migrate i wtedy - według książki - mam podmienić plik w katalogu db. Tak więc robię, ale gdy chcę wejść na stronę, dostaję komunikat: Migrations are pending. To resolve this issue, run: bin/rake db:migrate RAILS_ENV=development
Gdy to odpalam, mam błąd - tabela “ads” już istnieje. Ma ktoś może jakiś pomysł?
Tak. Problem leży w tym, że w bazie jest tabela ads, natomiast w tabeli schema_migration nie ma informacji o tym, że migracja ta została wykonana. Jeśli usilnie chcesz to przerobić Może zrób zrzut danych z tabel w tamtej bazie danych i wczytaj je do swojej. Niestety z SQLite nie pomoge ci bo w zasadzie nigdy z niej nie korzystałem dłużej niż 5 minut.
Nie mam pewności. Może ktoś z większym doświadczeniem by wiedział.
Mi wydaje się, że książka, z której korzystasz omawia starszą wersję Railsów niż ty posiadasz stąd mogą być rozbieżności. Ale nie znając szczegółów jest to wróżenie z fusów kawy, którą właśnie zrobiłem.
Bardzo często spotkasz się z tym, że kurs/książka są przestarzałe ponieważ w świecie Rubiego wszystko bardzo szybko się zmienia i ewoluuje i trzeba najczęściej samemu nadrabiać różnice. Z drugiej strony szybki rozwój przyciąga wiele osób, które wykorzystują railsy.