如何将常量初始化为Postgresql表中已存在的object_id?

时间:2019-05-03 22:22:24

标签: ruby-on-rails ruby-on-rails-5

有没有一种方法可以将常量分配给现有的sql条目?

例如,莎拉的房子在house.id = 2中。莎拉在people.id = 1中存在。

我第一次在Rails中进行探索,跟随一个作业,该作业要求我建立一个简单的项目来模拟人与房屋之间的关系。每个房子都有一个地址,一个人属于一个房子。您可以检查房屋的居民,看看谁住在那里。

我在我的gemfile中添加了pry-rails,以便将rails控制台引导到pry,然后从那里初始化我的人和房子。

不幸的是,保存后,我做了一个gaff并关闭了撬门。我在第二个终端中查询了这些表,并确实发现我的人/家存放在各自的表中。

当我做House.all时,我得到的东西看起来像这样:

  House Load (0.4ms)  SELECT "houses".* FROM "houses"
=> [#<House:0x00007fbe916496d0
  id: 2,
  address: "123 Main st.",
  created_at: Fri, 03 May 2019 21:39:14 UTC +00:00,
  updated_at: Fri, 03 May 2019 21:39:14 UTC +00:00>]

我最初在Pry中执行以下操作:


SarahsHouse = House.new(address: '123 Main St.')
Sarah = Person.new(name: 'Sarah', house_id: 'SarahsHouse.id')
SarahsHouse.save!
Sarah.save!

我希望能够将Sarah以及在people表中具有该条目的其他人绑定到特定条目,以便我继续测试我的模型。

1 个答案:

答案 0 :(得分:0)

答案很简单。

Class.find(primary_id)

使用此方法,您可以将变量初始化为特定的表类obj。