如何知道某个项目或对象是否正在使用Rails中的模型

时间:2019-05-28 14:48:13

标签: ruby-on-rails ruby activerecord rails-console

我有以下情况:

一个名为State的模型,其中包含一些信息:

pry(main)> State.last
 id: 35,
 region_id: 6,
 name: "São Paulo",
 abbreviation: "SP",
 created_at: Mon, 03 Jul 2017 09:38:22 -03 -03:00,
 updated_at: Mon, 03 Jul 2017 09:38:22 -03 -03:00,
 deleted_at: nil>

我想知道哪个城市或其他模型和对象正在使用此确定的ID。

这是通往城市的schema.rb

  create_table "cities", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
    t.integer  "state_id",   null: false
    t.string   "name",       null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.datetime "deleted_at"
    t.index ["deleted_at"], name: "index_cities_on_deleted_at", using: :btree
    t.index ["state_id"], name: "index_cities_on_state_id", using: :btree
  end

obs:“我试图找到一些与此主题相关的答案,但没有找到”,如果存在,请报告我,我将删除此问题。

非常感谢

1 个答案:

答案 0 :(得分:1)

首先,您需要定义城市与州之间的关系。

# app/models/city.rb

class City < ApplicationRecord
  belongs_to :state
end
# app/models/state.rb

class State < ApplicationRecord
  has_many :cities
end

现在在控制台中,您可以调用:

State.last.cities