好吧,我实际上不想制作日历,但我需要一年中每一天的 View ,我想这有点相同。假设我有一个你看到的 View ,例如页面顶部显示“7 月 1 日”,您可以链接到前一天和后一天。在其下方有一个房间列表(在我的示例中),它们具有不同的状态 - 可用或保留。
我如何使用 Sinatra 和 Datamapper 制作这样的东西?我是否将其放在网址中或者我有什么可能性?
get '/rooms/:date' do
"List of rooms for " + params[:date]
end
所以回顾一下。我正在尝试创建一个日历,每天您都会获得一个列表,其中包含一年中每一天可用或保留状态的内容 - 但我不知道从哪里开始。
最佳答案
我将从数据库设计开始。你的中央 table 是什么?他们如何合并时态数据?假设您有房间
列表。然后,您必须有另一个表(例如 room_reservations
),每个记录都有 start_date
、end_date
和 room_id
。查找特定日期入住的房间列表的查询应该很简单。
至于在 Sinatra 中实现以日期为中心的 View ,它可以很简单:
require 'rubygems'
require 'sinatra'
require 'date'
require 'haml'
get '/' do
redirect "/rooms/#{Date.today}"
end
get '/rooms/:date' do |d|
@date = Date.parse d
haml :rooms
end
__END__
@@rooms
%a{:href => "/rooms/#{@date - 1}"}
=@date-1
%span
=@date
%a{:href => "/rooms/#{@date + 1}"}
=@date+1
关于ruby - 使用 Sinatra 制作日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3223883/