Jak się do tego zabrać?

Może ktoś mi wskaże najlepszy kierunek jak zabrać się za takie coś:

Mam dwie tabele - letters (w niej a, b, c) i numbers (1, 2, 3) plus tabela results (a1, a2, a3, b1…)

i teraz powiedzmy wchodzę na listę letters i wybieram z niej b, zapisuję (tabela items?)
później idę do listy numbers i wybieram 3, zapisuję (tabela items?)

i teraz dzięki temu, że mam wybrane b, 3 dostaję wynik z results, w której będą przechowywane informacje, co ma z niej być wyciągnięte jeżeli user wybierze letters i numbers b i 3, czyli jakiś element b3.

Jak połączyć więc modele letters i numbers z results?

Rozumiem, że chodzi przede wszystkim o wyciągnięcie odpowiedniego resultsa na podstawie lettera i numbera. Do tego powinno wystarczyć coś w stylu:

Result.find_by_letter_id_and_number_id(2, 1)

Połączenie:

class Result < ActiveRecord::Base belongs_to :letter belongs_to :number end
…jest w tym przypadku mało potrzebne, ale może się przydać np. w panelu admina (przy dodawaniu nowych resultsów).

Przy okazji - jeśli letters i numbers to rzeczywiście “a”, “b”, … i 1, 2, … to może nie potrzeba tworzyć dla nich własnych tabel. Selecty można zbudować z:

options_for_select [1, 2, 3] options_for_select ["a", "b", "c"]
zamienić letter_id => letter i number_id => number w tabeli results i wyszukiwać result przez:

Result.find_by_letter_and_number("a", 1)

A do zapisywania wybranej przez użytkownika litery i cyfry nie potrzebujesz nowej tabeli tylko (jeśli odbywa się to etapowo) sesji.

Dzięki Czak za super podpowiedź, właśnie zależało mi na czymś nie przekombinowanym :slight_smile: