正如我们所做的那样,我有一个用户控制器/模型。
我想添加一个'favorite_car'模型,从数据库中的favorite_cars表中提取他们喜爱的汽车。在models / users.rb中,我有has_many favorite_cars
,在模型/ favorite_car.rb中我有belongs_to user
我可以在没有favorite_cars控制器的情况下以这种方式使用和存储数据吗?
答案 0 :(得分:1)
如果您想从用户创建表单更新“最喜欢的汽车”,请查看accepts_nested_attributes。 (http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html)
您的用户模型将“accepted_nested_attributes_for:favorite_car”。在您的视图中,您可以组合用户表单字段和汽车表单字段,并回发给用户控制器。
如果你想在与用户关联之外访问favorite_car模型,它肯定需要自己的控制器。
答案 1 :(得分:0)
通常有一个控制器与您能够创建,读取,更新或销毁的每种类型的模型相关联,因为它非常巧妙地映射到REST方法。
如果您拥有FavoriteCar
模型,则应该与FavoriteCarsController
关联,以帮助创建这些模型。如果模型本身实际上是User
和Car
之间的联接,您可以将此作为方法添加到CarsController
作为执行相同操作的操作favorite
。< / p>