[英]Replacing Rails form fields
我正在学习RoR,并将表单的文本框“映射”到字符串类型的数据模型的字段,这很简单:
<%= form_for(@user) do |f| %>
<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
....
<div class="actions">
<%= f.submit %>
</div>
<% end %>
但是,我有一个datetime类型的字段(dob),默认的表单控件包含五个我不喜欢的下拉列表,因此我想使用在此处找到的foundation-datetimepicker-rails gem。
脚手架为日期时间类型生成的原始代码如下:
<div class="field">
<%= f.label :dob %><br>
<%= f.datetime_select :dob %>
</div>
但是,如何替换上面的内容,使其与下面的javascript控件类似,以显示该控件并将其链接到dob字段:
<input class="datetimepicker" type="text" >
<script type="text/javascript">$('.datetimepicker').fdatetimepicker()</script>
更新 :按照下面的Mike Desjardins的回答,datetimepicker可以正常工作并显示,但是它位于现有内容的顶部。 在下面的屏幕截图中,datetimepicker当前位于以下位置:
<%= f.label :company_id %>
_form.html.erb
<%= form_for(@note) do |f| %>
<div class="field">
<%= f.label :date %><br>
<%= f.text_field :date, :class => 'datetimepicker' %>
</div>
<div class="field">
<%= f.label :company_id %><br>
<%= f.select(:company_id, Company.order("name").map { |s| [s.name, s.id] }) %>
</div>
<div class="field">
<%= f.label :contact %><br>
<%= f.text_field :contact %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<%= link_to "home", root_path, { :class=>"button expand" } %>
<script type="text/javascript">
$(document).ready(function() {
$('.datetimepicker').fdatetimepicker();
});
</script>
<% end %>
原始视图
目前来看
这样的事情行吗?
<div class="field">
<%= f.label :dob %><br>
<%= f.text_field :dob, :class => 'datetimepicker' %>
</div>
<script type="text/javascript">
$(document).ready(function() {
$('.datetimepicker').fdatetimepicker();
});
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.