Do formularza wprowadzam dane: miasto, ulica, nr_domu, nr_lokalu, kod_pocztowy.
Czy istnieje prosty sposób sprawdzania czy rekord z tymi danymi juz istnieje? I jeżeli istnieje to pobrać jego id, a jeżeli nie istnieje to go dodać i wtedy pobrać id.
Pewnie są lepsze rozwiązania, bo w sumie dopiero zaczynam, ale…
Może zrób dodatkowe pole w tabeli, w którym będzie połączony string z pięciu pozostałych kolumn (miasto+ulica+nr_domu+nr_lokalu+kod_pocztowy) i wymagaj unikalności w tej kolumnie
def safe_params
params.require(:supplier).permit(name).permit(surname)
end
nie wygląda za elegancko
w permit trzeba podać nie zmienne a stringi lub symbole
w permit można podać kilka rzeczy po przecinku
osobiście preferuje zamiast require używać fetch z drugim argumentem {} to pozwala nam na pominięcie obsługi jednego błędu wyrzuconego przez require, ale co do tego są różne szkoły
def safe_params
params.fetch(:supplier, {}).permit(:name, :surname)
end
Dla jednej tabeli działa. Problem pojawia sie jak jest tabela addresses i supppliers i jest jeden formuarz dla obu tabel i najpierw trzeba sprawdzić czy dany adres juz istnieje jezeli tak to pobrac id a nastepnie sprawdzic czy dany dostawca istnieje i jezeli nie to dodac go a w miejsce adresses_id wstawic id adresu