Как узнать, использует ли модель или объект модель в рельсах - PullRequest
0 голосов
/ 28 мая 2019

У меня следующая ситуация:

Модель под названием 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>

Я хочу знать, какие города или другие модели и объекты используют этот определенный идентификатор.

Это 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

Обс: «Я пытался найти какой-то ответ, связанный с этой темой, но я не нашел», Если существует, пожалуйста, сообщите мне, и я удалю этот вопрос.

Большое спасибо

1 Ответ

1 голос
/ 28 мая 2019

Сначала вам нужно определить отношения между городом и штатом.

# 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
...