我的名字是Pamela,我是这个版本的rails的新手,我正在尝试将一些验证和日期选择器放在一个表单中,但由于某种原因jquery无法正常工作,我搜索了很多并尝试了几件事但是他们没有工作。这是我的 application.js 文件:
//= require jquery
//= require jquery_ujs
//= require jquery-ui-1.8.24.custom.min
//= require jquery.ui.datepicker-es
//= require jquery.validate
//= require messages_es
这是我的 application.html.erb:
<%= javascript_include_tag "application" %>
我跑了: rails generate jquery:install 结果如下:
已弃用 您正在使用启用了资产管道的 Rails 3.1,因此不需要此生成器。必要的文件已经在您的资产管道中。只需将//= require jquery
and添加//= require jquery_ujs
到您的 app/assets/javascripts/application.js 如果您从 Rails 3.0 升级了您的应用程序,并且您的 javascripts 中仍然有 jquery.js、rails.js 或 jquery_ujs.js,请务必删除它们。如果您不想启用资产管道,您可以在 application.rb 中将其关闭并重新运行此生成器。
任何人都可以帮忙吗?
谢谢你。
更新:
这是我的表格:
<%= form_for(@contrato) do |f| %>
<% if @contrato.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@contrato.errors.count, "error") %> no han permitido que el contrato sea guardado:</h2>
<ul>
<% @contrato.errors.full_messages.each do |msg| %>
<li><font color="red"><%= msg %></font></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label 'Obra' %><br />
<%= f.text_field :contrato_nombre_obra %>
</div>
<div class="field">
<%= f.label 'Nombre Contratista/Empresa' %><br />
<%= f.select :contratista_id, Contratista.find(:all, :order => "empresa").collect{|c| [c.empresa, c.id] } %>
</div>
<div class="field">
<%= f.label 'Municipio' %><br />
<%#= f.number_field :tipo_norma_legal_id %>
<%= f.select :municipio_id, Municipio.find(:all, :order => "nombre").collect{|c| [c.nombre, c.id] } %>
</div>
<div class="field">
<%= f.label 'Localidad' %><br />
<%#= f.number_field :tipo_norma_legal_id %>
<%= f.select :localidad_id, Localidad.find(:all, :order => "nombre").collect{|c| [c.nombre, c.id] } %>
</div>
<div class="field">
<%= f.label 'Tipo de Norma Legal' %><br />
<%#= f.number_field :tipo_norma_legal_id %>
<%= f.select :tipo_norma_legal_id, TipoNormaLegal.find(:all, :order => "tipo_norma_legal_descripcion").collect{|c| [c.tipo_norma_legal_descripcion, c.id] } %>
</div>
<div class="field">
<%= f.label 'Nº Norma Legal '%><br />
<%= f.text_field :contrato_nro_norma_legal %>
</div>
<div class="field">
<%= f.label 'Año Norma Legal' %><br />
<%= f.text_field :contrato_anio_norma_legal %>
</div>
<div class="field">
<%= f.label 'Nº de Expediente (solo numeros)' %><br />
<%= f.text_field :contrato_expte %>
</div>
<div class="field">
<%= f.label 'Fecha del Contrato' %><br />
<%= f.text_field :contrato_fecha %>
</div>
<div class="field">
<%= f.label 'Monto de Contrato ($)' %><br />
<%= f.text_field :contrato_monto %>
</div>
<div class="field">
<%= f.label 'Plazo de Obra (dias)' %><br />
<%= f.text_field :contrato_plazo_obra %>
</div>
<div class="field">
<%= f.label 'Contrato Finalizado' %>
<%= f.check_box :finalizado %>
</div>
<div class="actions">
<br class="clearfix" />
<%= f.submit 'Guardar', :class=>'button' %>
</div>
<% end %>
<%= render(:partial => "javascripts") %>
这是部分:
<script type="text/javascript">
$(document).ready(function () {
$("#new_contrato").validate({
rules: {
"contrato[contrato_nombre_obra]": {required: true, minlength: 3 , maxlength: 60 },
"contrato[contrato_monto]": {digits: true},
"contrato[contrato_plazo_obra]": {required: true, digits: true}
"contrato[contrato_contrato_expte]": {digits: true}
}
});
// Datepicker
$('#contrato_contrato_fecha').datepicker({
changeMonth: true,
changeYear: true,
});
});
</script>