根据我的理解@city。User是属于该特定用户的城市,@user。City是所有用户所在城市的数组。我不确定我是否理解正确。
请帮忙清理一下,谢谢!
Scenario #1
一对多关系:User和Cities
@user.cities => Get all the `city` records for a particular `user`(@user)
@city.user => Get the `user` record for a particular `city`(@city)
Scenario #2
One To One关系:User和City
@user.city => Get the `city` record for a particular `user`(@user)
@city.user => Get the `user` record for a particular `city`(@city)
根据你的关联,如果你已经通过id或其他东西获得了城市对象,并且你想找到它的用户,你可以执行@city.user
来找出该城市属于哪个用户。如果你有一个User
,想找到他们所有的城市,如果它是has_many
协会,你会做@user.cities
,如果它是has_one
协会,你会做@user.city
。
@city.user
向@city
对象发送user
消息。@user.city
向@user
对象发送city
消息
在rails中,如果每个用户都有一个关联的城市,通常@user将是表示用户的对象,而@user。City将返回与用户关联的城市对象。同样,@city。Users返回与该城市关联的用户数组,如果没有与该城市关联的用户,则返回空数组。