首先,我是HTML和RAILS编码的新手。但作为学习经验的一部分,我为我正在工作的实验室设计了一个机器预订系统。我有一个表单(show.html.erb)来查看机器详细信息,如名称,ipaddress等有一个datetime_select,小时数选项的预约表格,如下所示,rails在datetime_select选项中刷新日期
正如你可以看到它是真正的基本html编码。 ... 机细节 名称: <%= @ machine.name%>
IPAddress表示 <%= @ machine.ipaddress%>
处理器: <%= @ machine.processor %>
内存: <%= @ machine.memory%>
操作系统: <%= @ machine.os%>
说明: <%= @ machine.description%>
机状态: <%,如果@ machine.active ==真%> 在线 <%其他%> 离线 <%end%>
<%if @ machine.can_reserved == false%> 本机无法保留。查看描述 <%结束%>
<fieldset>
<legend>Create a New Reservation</legend>
<p style="color: red"><%= flash[:error] %></p>
<%= form_for [@machine, @reservation] do |f| %>
<div class="field">
<%= f.label :startdate, 'Start Time' %>:
<%= f.datetime_select :startdate %> (<b>PST</b> timezone)
</div>
<div class="field">
<%= f.label :purpose, 'Reason' %>:
<%= f.text_field :purpose, :size => 40 %>
</div>
<div class="field">
<%= f.label :hour, 'Hour(s)' %>:
<%= f.text_field :hour, :size => 2 %>
</div>
<div class="field">
<%= f.label :days, 'No of Days' %>:
<%= f.text_field :days, :size => 2 %>
</div>
<div class="actions">
<%= f.submit 'Reserve this machine' %>
</div>
<% end %>
<br />
</fieldset>
... 现在,当您点击展示行动的机器,它的一切权利。显示所有机床详情,并在预订表格中显示当前时间。但是当我稍后刷新页面时,刷新页面会刷新机器详细信息,但它不会更新已使用datetime_select选项显示的时间。为什么?它怎么总是显示当前时间?我了解这些观点不过是一个静态页面。 我给页面添加了标签,它自动再次刷新整个页面,但似乎不会影响datetime_select选项中显示的日期。
有什么想法?我非常感谢帮助。
谢谢。
汤姆
您还可以提供加载此表单的控制器方法的代码吗? – brettish 2011-04-19 18:08:39
@brettish,这里是来自machines_controller.rb文件的代码,def show @machine = Machine.find(params [:id]) @reservation = Reservation.new @ reservation.user_id = session [:user_id] @ noOfDays = 7 respond_to do | format | format.html#show.html.erb format.xml {render:xml => @machine} end end – user715698 2011-04-19 18:13:58
尝试添加'@reservation.startdate = DateTime.now'并查看它是否执行任何操作。 – brettish 2011-04-19 18:18:48