Dodawanie z listy ogólnej do listy użytkownika

cześć.
mam taki problem: powiedzmy, że mamy listę filmów i chcemy, żeby każdy user miał listę obejrzanych tytułów.
jak mam się zabrać za to “dodawanie” z ogólnej ilsty, do listy usera? mógłby ktoś dać jakieś wskazówki?

mam nadzieję, że wyjaśniłam mój problem dostatecznie jasno.

http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association

lub

http://guides.rubyonrails.org/association_basics.html#the-has-and-belongs-to-many-association

przepraszam, mogłam się nie wyrazić zbyt jasno, przez co raczej źle mnie zrozumiałeś. struktura mojej bazy wygląda tak: http://i.imgur.com/BTwxUd8.png
mój kod jest dostępny tu: https://github.com/kararide/kara-list
konkretyzując mój problem:
szukam jakiegoś poradnika, ewentualnie tipa, w jaki sposób utworzyć możliwość dodawania anime do listy użytkownika. coś jak na stronie: myanimelist.net

a szczególnie

Możesz stworzyć akcje która pobierze id użytkownika z sesji (aktualnie zalogowanego), oraz pobierze id konkretnie wybranego filmu.

czyli myślę że coś podobnego do:

def watched_movie
  @user = current_user.id #jeśli używasz devise
  @anime = Anime.find(params[:id])

  @user.animes <<  @anime
end

Jeśli chcesz usunąć film, to kolejna akcja:

def unwach_anime
  @user = current_user.id #jeśli używasz devise
  @anime = Anime.find(params[:id])

  @user.animes.delete(@anime)
end

Chyba o coś takiego chodziło.

a co to za konstrukcja, bo ja nie do końca. Dodatkowo ja bym to umieścił w kontolerze WatchController i miałbym proste akcje create i destroy, bez żadnych customowych nazw (oczywiście czasami dodatkowe nazwy akcji są ok, ale nie uważam, żeby były w tym wypadku).

Celowo dla @kara nie podałem gotowego rozwiązania tylko odniesienia do dokumentacji.

hmmm unwatched + anime czy movie w końcu :stuck_out_tongue: