我有3个模特:电影,movie_tags和movie_tag_counts
这是一个经典有很多关系。我的用例是每部电影都有多个标签,用户可以对已添加的标签进行投票。
我的问题是我似乎无法更新movie_tag_counts中的现有对象
movie_tag_count = MovieTagCount.first
movie_tag_count.count += 1
movie_tag_count.save
结果是此错误消息
TypeError:nil不是符号,也不是字符串
我最好的猜测是,原因是movie_tag_counts表没有自己的id列,但我仍然不知道如何解决它。
我目前的解决方法是直接执行sql语句
答案 0 :(得分:0)
原来我的猜测是正确的,ActiveRecord期待一个id列,我像这样添加它
add_column :movie_tag_counts, :id, :primary_key
一切都很完美。我确定通过覆盖一些AR方法可以在没有id列的情况下做到这一点,但我想让另一列不会伤害那么多