Вложенные условия, не возвращающие никаких результатов - PullRequest
0 голосов
/ 07 июня 2019

Мы создаем клон AirBnB как часть курса.Для этого мы создали связанные таблицы с использованием DataMapper

class User
  include DataMapper::Resource

  property :id,          Serial
  property :email,       String,  :required => true,
                                  :unique => true,
                                  :format => :email_address
  property :password,    String, :required => true

  has n, :spaces
  has n, :bookings

end
class Space
  include DataMapper::Resource

  property :id,          Serial
  property :name,        String,  required: true
  property :description, Text,    required: true
  property :price,       Integer, required: true
  property :checkin,     Date,    required: true
  property :checkout,    Date,    required: true

  belongs_to :user
  has n, :bookings

end
class Booking
  include DataMapper::Resource

  property :id,           Serial
  property :arrival,      Date,     required: true
  property :departure,    Date,     required: true
  property :confirmed,    Boolean

  belongs_to :user
  belongs_to :space

end

Мы пытаемся получить все неподтвержденные (null) заказы для пробелов, которые создаются определенным пользователем.id.

Основываясь на документации datamapper о вложенных условиях, мы попробовали следующее с внешними ключами:

user = session[:user]
bookings = {:confirmed => nil, :space_id => { :user_id => user.id } }
p Booking.all(bookings)

Который согласно документации должен возвращатьправильные детали, но вместо этого возвращает пустой массив.

Может кто-нибудь предложить, как правильно вложить условия

...