我的网络应用程序出现了一个奇怪的问题。
我正在尝试为“逃离房间”等游戏构建一个简单的预订系统。现在我制作了自己的日历,看起来是一个有关日期的轨道广播(日历修订版)。
在可能的时间内,我在数据库中创建了一个新模型和一个新表
t.integer "id"
t.datetime "start_time"
t.datetime "end_time"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
在视图中我有这样的事情:
<%= calendar @date do |date| %>
<%= date.day %>
<table class="table">
<tbody>
<% @hours.each_slice(2) do |hour| %>
<tr>
<% hour.each do |h| %>
<td>
<%= link_to h.start_time.strftime('%H:%M'), new_escape_path(date: date, start_time: h.start_time.strftime('%H:%M'), end_time: h.end_time.strftime('%H:%M')) %>
</td>
<% end %>
</tr>
<% end %>
</tbody>
</table>
<% end %>
我将这些参数写入数据库,以用户可以手动完成其他字段的形式传递它们:
<%= text_field_tag :date, params[:date] %><br>
<%= text_field_tag :start_time, params[:start_time] %> do
<%= text_field_tag :end_time, params[:end_time] %>
问题是在视图中我只想显示尚未保留的小时数,这意味着它们不在转义表中。 在控制台中我写
Escape.all
我有类似的东西:
#<Escape id: 1, date: "2015-08-11 00:00:00", start_time: "2015-08-10 08:30:00", end_time: nil, user_id: nil, created_at: "2015-08-10 15:26:14", updated_at: "2015-08-10 15:26:14">
但是当我写
时Escape.all.where(date: "2015-08-11 00:00:00")
它返回一个空记录
#<ActiveRecord::Relation []>
我还尝试在视图中插入这样的内容,但它不起作用:
<% if Escape.where(["date = ? and start_time = ?", "#{date}", "#{h}"])%>
<%= h.start_time.strftime('%H:%M') %>
<% else %>
<%= link_to h.start_time.strftime('%H:%M'), new_escape_path(date: date, start_time: h.start_time.strftime('%H:%M'), end_time: h.end_time.strftime('%H:%M')) %>
<% end %>
你有什么想法吗?我做错了什么?