【问题标题】:Proper Rails Association for this setup此设置的正确 Rails 关联
【发布时间】:2012-11-17 02:43:34
【问题描述】:

刚开始使用 Rails,我有一个问题。我对联想的把握很薄弱。

假设我有一个模型汽车

有些汽车会出租,有些则不会。所以我创建了一个表格和一个名为 Rentals

的模型

其中只有 car_id,表示在 car_id 处是租赁。

现在我的 Rental 模型中有一个 belong_to :cars 行。我不确定这是否正确。我正在尝试轻松获取所有租金的清单。因此,从出租表中获取 car_ids 并从汽车表中获取所有汽车信息是最有效的方式。

有人可以帮忙吗?

【问题讨论】:

    标签: ruby-on-rails associations


    【解决方案1】:

    以下内容:

    Car.joins(:rentals).all # try with :rental if not working
    

    将输出所有与租赁对象相关联的汽车;)

    【讨论】:

    • 我知道有一个简单的班轮。谢谢,这正是我所需要的。
    【解决方案2】:

    这取决于你究竟需要用它做什么。

    为简单起见,我会这样做。

    class CarType #better than Rentals and more meaningful [:type => [rental, lease, own]]
      belongs_to :car
    end
    
    class Car
      has_one :car_type
    end
    

    所以,现在对于cars 表,它将有一个car_type_id 指向car_types 表中的类型。

    【讨论】:

    • 希望我能接受两个答案。 has_one 是我问题的另一部分。把它放进去,然后在下面 MrYoshijis 的回答下,它现在运行良好。
    • @D3mon-1stVFW,应该是belongs_to :car
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多