【发布时间】:2011-03-05 21:32:09
【问题描述】:
我有属于收藏和用户的照片。照片始终属于用户,但不能分配给收藏。
在我的控制器中,这非常有效:
@collection_photos = Photo.where( :collection => @collection, :user => current_user )
但是,这失败了……
@other_photos = Photo.where( :collection => nil, :user => current_user )
...但这有效:
@other_photos = Photo.where( :collection_id => nil, :user => current_user )
当 collection 设置为 nil 时,我收到以下错误消息:No attribute named 'collection' exists for table photos。
如果我传递一个对象,它知道从符号:collection 中搜索collection_id,但如果我不传递一个对象,它似乎不知道关联。
我理解正确吗?谁能更好地解释一下为什么:collection=>nil 不起作用?
【问题讨论】:
-
好问题。我不得不深入兔子洞。
标签: ruby-on-rails ruby-on-rails-3 activerecord where