Po uruchomieniu migracji stworzylo tabele klient w bazie. Proszę o poradę jak stworzyć resztę tabel. Czy należy tworzyć modele czy może zmodyfikować ten który jest. Jak będzie najlepiej?
na te usługi napewno chcesz tworzyć osobne tabele ? bo widze że kolumny są identyczne . Inne tabele tworzysz podobnie jak wyżej, jesli nie chcesz widoków i kontrolerów to daj script/generate model zamiast scaffold, wtedy zrobi model, migracje i testy, ale podejrzewam ze wiekszosc plików sie przyda wiec lepiej scaffold i pokasować zbędne.
Proponujesz zrobienie jednej tabeli Uslugi w której znalazła by się komórka pt “nr” ? Nie mam doświadczenia w tworzeniu bazy danych ale wygląda na to że będzie to dużo lepsza opcja. Dziękuję
Zabieram się za tworzenie modeli.
Wiesz może w jaki sposób wykorzystać istniejącą tabele Klient i połączyć ją z resztą tabel za pomocą id?
Przeczytaj moje materiały dotyczące baz danych, bo bez takiej podstawowej wiedzy nie ma co się zabierać za railsy (w menu po prawej możesz przeglądać poszczególne zagadnienia).
Po uruchomieniu migracji w bazie została stworzona tabela adresies
klient:references
Stworzył klient_id w tabeli adresies.
teraz gdy odwiedzam http://strona/adresies/
mam pustą listę adresów niestety jak chcę dodać nowy występuje błąd.
Czy istnieją w RoR polecenia które załatwiają sprawy łączenia tabel? Czy należy przygotowywać najpierw bazę tabele połączyć tabele. Czy mógłby ktoś na przykładzie tych dwóch tabel pokazać jak to zrobić?
Po pierwsze odrób pracę domową i poczytaj przewodniki, które były linkowane w postach wyżej. Tam naprawdę są informacje niezbędne, a oszczędzisz nam odpowiadania po raz milionowy na te same pytania.
Po drugie - dla swojego dobra nazywaj modele i pola po angielsku. Czy nie lepiej wygląda address - addresses niż polskawe adresies?
Przykład:
[code=ruby]class Customer < ActiveRecord::Base
has_one :address
end
class Address < ActiveRecord::Base
belongs_to :customer
end[/code]
w tabeli addresses powinna istnieć kolumna customer_id typu integer.
użycie, np.:
Customer.first.address
Po trzecie: Jeżeli do klienta ma być przypisanu jeden adres to nie ma sensu tworzenia osobnej tabeli. Jeśli ma być przypisanych wiele to zamiast has_one piszemy:
has_many :addresses
i używamy, np.:
Customer.first.addresses
(zwróci to tablicę zawierającą adresy przypisane do konkretnego klienta)
Powodzenia! I przeczytaj koniecznie:
podstawy baz danych linkowane przez apohllo
przewodniki do Railsów - linki na tym forum -> google -> rails guides (po polsku też są, znajdziesz na stronie domowej apohlla)