2017-01-24 103 views
1

我有3種型號:電影,movie_tags和movie_tag_counts更新/刪除JoinTable記錄用ActiveRecord

這是一個典型的有很多經過的關係。我的用例是每部電影都可以有多個標籤,用戶可以對已添加的標籤進行投票。

我的問題是,我似乎無法更新movie_tag_counts

movie_tag_count = MovieTagCount.first 
movie_tag_count.count += 1 
movie_tag_count.save 

結果的現有對象此錯誤消息

TypeError: nil is not a symbol nor a string

我最好的猜測是,原因是movie_tag_counts表沒有它自己的id列,但我仍然不知道如何解決它。

我目前的解決方法是執行一個SQL語句直接

回答

0

原來我的猜測是正確的,ActiveRecord的預計ID列,我說像這樣

add_column :movie_tag_counts, :id, :primary_key 

,一切都完美。我敢肯定,有一種方法可以在沒有id列的情況下通過覆蓋一些AR方法來實現,但是我想讓另一列不會太大傷害