Witam jestem całkiem początkującym jeżeli chodzi o programowanie. Mam problem z tworzeniem formularzy do dodawania dostawcy wraz z adresem a także wyświetlania listy dostawców wraz z ich adresami. Dla pojedyńczej tabeli wyświetlanie i dodawanie mi działa natomiast nie wiem jak to zrobić aby jednocześnie było to łączone z tymi dwoma tabelami.
Mam dwie tabele:
create_table "addresses", force: :cascade do |t|
t.string "city"
t.string "street"
t.string "postcode"
end
create_table "suppliers", force: :cascade do |t|
t.string "surname"
t.string "name"
t.string "email"
t.integer "address_id"
end
class Address < ActiveRecord::Base
has_many :Suppliers
end
class Supplier < ActiveRecord::Base
belongs_to :address
end
Supplier.all.each do |supplier|
puts supplier.address
end
będziesz miał N+1 zapytań do bazy danych (dla każdego dostawcy pytacie się osobno o adresy), lepsze wydajnościowo będzie powiadomienie AR, że chcecie zaciągnć adresy razem z dostawcami:
Supplier.includes(:address).each do |supplier|
puts supplier.address
end
zapewne wstawiłeś do kontrolera, tam zoaczysz wynik tylko w logach. Widoki (m.in. index.html.erb) odpowiada za wyświetlanie rzeczy na stronie. Na podstawie twoich wiadomości widzę, że brak tobie postawowej wiedzy z zakresu tego jak działa Ruby on Rails. Przerób jakiś poradnik do Ruby on Rails np. https://www.railstutorial.org