【发布时间】:2016-12-12 12:37:22
【问题描述】:
我正在为一家酒店使用 Ruby on Rails 制作一个 Web 应用程序。我看到了一些可能看起来和我一样的问题,但我找不到正确的解决方案。
用户可以创建预订并选择他们想要的房间以及到达和离开的日期。一切都按照我想要的方式进行,除了我的房间可以预订重叠日期。
架构:
create_table "bookings", force: :cascade do |t|
t.integer "user"
t.integer "course"
t.date "arriving_date"
t.date "leaving_date"
t.boolean "breakfast"
t.text "remarks"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "room_id"
t.integer "user_id"
t.index ["room_id"], name: "index_bookings_on_room_id", using: :btree
t.index ["user_id"], name: "index_bookings_on_user_id", using: :btree
end
create_table "rooms", force: :cascade do |t|
t.string "room_number"
t.integer "room_type_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["room_type_id"], name: "index_rooms_on_room_type_id", using: :btree
end
控制器
def new
@booking = Booking.new
end
def create
@booking = Booking.new(booking_params)
if @booking.save
redirect_to @booking
else
flash[:notice] = "Something went wrong"
render 'index'
end
end
预订模式
class Booking < ApplicationRecord
belongs_to :room
belongs_to :user
end
我想要什么
当用户尝试创建预订时,他们不应该选择在他们想在酒店睡觉的日子已经预订的特定房间。
【问题讨论】:
-
想要到目前为止吗?显示您的验证方法
-
@Fallenhero 我明白你为什么这么问,但问题是我完全不知道如何制作这样的东西..
标签: ruby-on-rails ruby