ruby - 使用 Sinatra 制作日历

标签 ruby calendar sinatra datamapper

好吧,我实际上不想制作日历,但我需要一年中每一天的 View ,我想这有点相同。假设我有一个你看到的 View ,例如页面顶部显示“7 月 1 日”,您可以链接到前一天和后一天。在其下方有一个房间列表(在我的示例中),它们具有不同的状态 - 可用或保留。

我如何使用 Sinatra 和 Datamapper 制作这样的东西?我是否将其放在网址中或者我有什么可能性?

get '/rooms/:date' do
  "List of rooms for " + params[:date]
end

所以回顾一下。我正在尝试创建一个日历,每天您都会获得一个列表,其中包含一年中每一天可用或保留状态的内容 - 但我不知道从哪里开始。

最佳答案

我将从数据库设计开始。你的中央 table 是什么?他们如何合并时态数据?假设您有房间列表。然后,您必须有另一个表(例如 room_reservations),每个记录都有 start_dateend_dateroom_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/

相关文章:

ruby - 多个结果?样式 if 子句

ruby 菜鸟?创建 ruby 日期

java - Android 日历序列化与 Java 6 不兼容

android 权限 READ_CALENDAR & WRITE_CALENDAR

concurrency - Sinatra + websocket + 赛璐珞

ruby-on-rails - Rails has_one 每个作用域

ruby-on-rails - 无法使用 Authlogic 和 Ruby on Rails 使用有效密码登录?

android - 在安卓日历中添加事件日期和时间

ruby - 在 Sinatra 中使用查询字符串触发另一个路由

ruby - 使用 Webrat 进行测试时如何处理 cookie?