Mam dwa modele z relacją many-to-many:
class Feed < ActiveRecord::Base
attr_accessible :title
has_many :feed_links
has_many :links, through: :feed_links
end
[code=ruby]class Link < ActiveRecord::Base
attr_accessible :url
has_many :feed_links
has_many :feeds, through: :feed_links
end[/code]
i
[code=ruby]class FeedLink < ActiveRecord::Base
attr_accessible :feed_id, :link_id
belongs_to :link
belongs_to :feed
end[/code]
W konsoli robię coś takiego:
Feed.last.links.create(url: ‘www.onet.pl’)
To ładnie tworzy mi model Link i dodaje rekord w tabeli feed_links.
Teraz chciałem to zrobić korzystając z build i save.
link = Feed.last.links.build(url: ‘www.onet.pl’)
link.save
Link mi zapisuje, ale bez wpisanie tego join rekordu. W sumie to się nie dziwie, bo skąd Railsy mają wiedzieć jaki feed_id tam wstawić.
Czy to znaczy, że jedyna opcja w tym przypadku, to zapisanie linka, a potem ręcznie ustawienie FeedLink i zapisanie go?