感谢这个社区,它已经帮助了我很多。这是我自己发布的第一个问题,它对我的项目有点具体。
我从MHartls开始了很棒的rails教程。 有用户和Microposts的模型,我添加了一个汽车模型,每个用户可以有一辆汽车(由car_id引用)。
在控制台中,我可以创建一个用户和一个微博,并通过说明post.user = michael将用户分配给微博,然后将帖子的user_id设置为michaels id。 我正在尝试为汽车做同样的事情,我可以通过说明michael.car = somecar来设置用户car_id,但即使模型关联LOOK完全相同也会出现错误,我甚至将car_id重新设置为用户模型作为参考。见下文:
class User < ActiveRecord::Base
has_many :microposts, dependent: :destroy
belongs_to :cars
class Micropost < ActiveRecord::Base
belongs_to :user
belongs_to :car
class Car < ActiveRecord::Base
has_many :microposts, dependent: :destroy
has_many :users
accepts_nested_attributes_for :users
accepts_nested_attributes_for :microposts
以下是我对car_id的最后一次迁移:
class Addreferencecartousers < ActiveRecord::Migration
def change
add_reference :users, :car
add_foreign_key :users, :cars
end
end
与我为用户/微博连接所做的一致。
我有点迷失在哪里寻找为什么这不起作用,是否有人对我在这里缺少的东西有任何提示/指示?
答案 0 :(得分:0)
要解决您的问题,belongs_to :cars
模型中的User
应为belongs_to :car
,但实际上我认为将其称为has_many :cars
会更有意义而不是belongs_to :car
因为 用户可以拥有多辆汽车 而 汽车属于用户 < / p>