Mam taki problem: posiadam dwie tabele w bazie danych.
Potrzebuję przy tworzeniu obiektu i dodawaniu rekordów do tabeli A dodawać również rekordy do tabeli B. Jak to jest możliwe w railsach?
Mam taki problem: posiadam dwie tabele w bazie danych.
Potrzebuję przy tworzeniu obiektu i dodawaniu rekordów do tabeli A dodawać również rekordy do tabeli B. Jak to jest możliwe w railsach?
1 tabela = 1 model
ModelA.new(params).save
ModelB.new(else).save
…
poczytaj troche o podstawach, jest tu gdzies watek do tego. Bo bez tego bedzie ciezko
Tzn. rekordy w tych tabelach powinny być w jakiś sposób powiązane? Jeśli tak - polecam złączenie ich railsowymi asocjacjami (http://guides.rubyonrails.org/association_basics.html) - a i pewnie accept_nested_attributes_for się przyda.
Ok, więc może dokładniej.
Posiadam model article i tabele articles
Model ten posiada wiele dat ukazywania się artykułu (głupie ale tak ma być) i stąd drugi model i tabela dates
Są połączone asocjacjami
article.rb
has_many :dates
dates.rb
belongs_to :article
moje pytanie dotyczy tego jak podczas dodawania przez formularz artykułu dodać do tabeli dates wygenerowane automatycznie wg określonego klucza daty (plus id artykułu i usera)?
Jak już pisałem, accepts_nested_attributes_for będzie tutaj pomocne:
Może zamiast zakładać, że nazewnictwo jest głupie ale tak ma być, lepiej od razu nazwać relację tak, żeby było ładnie i zrozumiale:
Zamiast:
has_many :dates
proponuję:
#article.rb
has_many :publication_dates
#publication_date.rb
belongs_to :article
A akurat nie o nazwach mówiłam a o tym, że posiada kilka dat ale dziękuję za sugestię
Lypa, sorry nie widziałam Twojego posta wcześniej - masz rację, zaczęłam czytac o accepts_nested_attributes_for - dzięki