Как написать код в Rails для запуска желаемого запроса в SQL

Все является объектом в Python, который включает в себя ints, строки, функции и классы. Поэтому isinstance(a, object) вернет вас True. Но 3 - это integer, который является sub_class созданным из object. Поэтому type(a) может быть только int.

Я могу привести пример.

Предположим, что у нас есть два класса: Sub - это sub_class of Base.

class Base:
    def __init__(self):
        self.kappa='kappa'
class Sub(Base):
    def __init__(self):
        super().__init__()

obj=Base()
int_rino=Sub()


print(isinstance(obj,Base))
print(isinstance(obj,Sub))
print(isinstance(int_rino,Base))
print(isinstance(int_rino,Sub))


print(type(int_rino)==Base)

Результат будет:

True
False
True
True
False
0
задан Dale Burrell 30 January 2019 в 05:59
поделиться

2 ответа

Я думаю, что отношение между User и Room является отношением «многие ко многим». Затем используйте :has_and_belongs_to_many:

https://guides.rubyonrails.org/association_basics.html#the-has-and-belongs-to-many-association

[ 1112] Но если вы хотите установить соотношение между User и Participant как многие-ко-многим, используйте опцию :through:

https://guides.rubyonrails.org/ association_basics.html # the-has-many-through-association

Я думаю, таблица Participant не обязательна, просто временная переменная participants выглядит нормально.

0
ответ дан 홍한석 30 January 2019 в 05:59
поделиться

Ваша participant модель имеет ассоциативное имя users.

Вы можете установить ассоциацию has many through следующим образом:

# room.rb
belongs_to :user
has_many :participants
has_many :users, through: :participants

, чтобы в вашем контроллере вы могли получить пользователей комнаты:

room = Room.find(1)
users = room.users
0
ответ дан Thanh 30 January 2019 в 05:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: