我有一个名为“预订”的数据库表,用户可以选择他们希望预订完成的'time_from'和'time_to'。
将这些字段添加到数据库时,我将它们添加为time_field。
<%= f.label :time_from, "From (24hr Clock)" %>
<%= f.time_field :time_from %>
<%= f.label :time_to, "To (24hr Clock)" %>
<%= f.time_field :time_to %>
表单正常工作并保存,但我的问题是订单。下面是我的控制器代码,随后我的视图显示时间及其输出。有关如何正确订购这些产品的想法吗?
控制器:
def show
@location = Location.find(params[:id])
@booking = Booking.order("time_to")
@company = Company.all
end
查看:
<% 0.upto(11.to_i).each do |day_count| %>
<span class="col-md-3 booking-times">
<h4><%= time_tag(Date.today + day_count.days) %></h4>
<span class="label label-danger no-bookings">No Bookings</span>
<% @booking.each do |b| %>
<% if b.date == Date.today + day_count.days && b.type == "Meeting" %>
<% if b.location == params[:id] %>
<span class="label label-info booking-time">
<%= time_tag(b.time_from, :format=>"%H:%M") %> -
<%= time_tag(b.time_to, :format=>"%H:%M") %>
</span>
<% @company.each do |c| %>
<% if c.id == b.company %>
<%=link_to c.name, c %></br>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
</span>
<% end %>
输出:(第一天)
09:30 - 10:30
22:00 - 23:00
07:30 - 08:30
我很欣赏这不是最好看的代码。我希望上面的输出按时间排序。有任何想法吗?我试图在控制器中订购,这会影响布局,但仍然没有正确的顺序。我认为附加到time_to输入的数据可能会影响到ian?谢谢!
答案 0 :(得分:1)
你试过这个:
@booking = Booking.order(time_to: :desc)
答案 1 :(得分:1)
请你试试这个:
@booking = Booking.order('time_to desc')