Ruby on rails 基于管理员数据在表单中为用户检查时间
下午好, 我觉得这一次很混乱。也许是因为我现在没有时间概念,但我的管理员有以下几点:Ruby on rails 基于管理员数据在表单中为用户检查时间,ruby-on-rails,Ruby On Rails,下午好, 我觉得这一次很混乱。也许是因为我现在没有时间概念,但我的管理员有以下几点: t.boolean "mon", default: false t.boolean "tue", default: false t.boolean "wed", default: false t.boolean "thu",
t.boolean "mon", default: false
t.boolean "tue", default: false
t.boolean "wed", default: false
t.boolean "thu", default: false
t.boolean "fri", default: false
t.time "start"
t.time "end"
我的预订中有以下表格:
<%= simple_form_for(@booking) do |f| %>
<% if @booking.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@booking.errors.count, "error") %> prohibited this booking from being saved:</h2>
<ul>
<% @booking.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<ul>
<li><%= f.label :first_name %></li>
<li><%= f.text_field :first_name %></li>
<li><%= f.label :last_name %></li>
<li><%= f.text_field :last_name %></li>
<li><%= f.label :email %></li>
<li><%= f.text_field :email %></li>
<li><%= f.date_select :start_datetime %></li>
<li><%= f.time_select :start_datetime, :ignore_date => true, :minute_step => 15 %></li>
<li><%=f.input :length, input_html: { :style=> 'width: 120px'}, collection: [['30 Mins', 30], ['1 Hour', 60]], :class => 'dropdown-toggle' %></li>
</ul>
禁止保存此预订:
- 正确:分钟步长=>15%>
- 'width:120px'},集合:['30分钟',30],'1小时',60],:class=>'下拉切换'%>
我希望能够在预订上输入匹配用户中设置的时间和天数
有谁能帮我解决这个时间问题吗。我试图以最务实的方式来做这件事,但失败了
谢谢。因此,您希望能够预订管理员可用的一天,并希望禁用那些不可用的日子。您在选择一个简单的日期时会遇到麻烦。您应该使用JavaScript日期选择器,如jQuery日期选择器插件。它们有一个名为beforeShowDay的函数,可以让您选择一天是否可用:
我从未真正使用过Jquery。你能告诉我如何使用admin表中的代码来允许显示日期和时间吗?下面是一篇关于如何将此功能与你的应用程序集成的较长文章。这就是说,如果您对jQuery或Rails没有太多的经验,对于初学者项目来说,这可能有点难。我建议您在使用完整的JSON路径之前,使用JS文件中硬编码的静态可用/不可用天数集进行测试。也许先用Ruby编写代码,然后翻译成JavaScript?我的脸在流血。如果不使用Jquery,还有其他方法可以做到这一点吗?因为我还需要能够显示没有分配任何事件的时间。我想您可以创建一个完整的日历页,作为预订创建过程的一部分。。
$(function () {
function isAvailable(day) {
var cssClass = ""; // Becomes the default.
// currentAdmin will have to be written by you.
// You'll likely have to pull in information about
// the admin via some info in the page or, better,
// via JSON.
if (currentAdmin.isAvailableOn(day)) {
return [true, cssClass];
} else {
return [false, cssClass];
}
}
$("#dp").datepicker({
beforeShowDay: isAvailable
});
});