Мы создаем клон 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)
Который согласно документации должен возвращатьправильные детали, но вместо этого возвращает пустой массив.
Может кто-нибудь предложить, как правильно вложить условия