2012-10-07 40 views
0

我的名字是帕梅拉和我是新來的這個版本的軌道,我試圖把一些驗證和datepickers的形式,但由於某些原因,jQuery是不工作,我搜查了很多,並嘗試了幾件事,但他們沒有工作。 這是我的application.js文件:jQuery是不工作的Rails 3.2.8

//= 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" %> 

我跑:軌產生的jQuery:安裝,這是結果:

棄用您正在使用Rails 3.1並啓用資產管道,因此不需要此生成器。 必要文件已存在於您的資產管道中。 只需將//= require jquery//= require jquery_ujs添加到您的應用/ assets/javascripts/application.js 如果您從Rails 3.0升級了應用,並且在您的JavaScript中仍然有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> 
+0

你能顯示錯誤是什麼,代碼片段? –

+0

你想看看錶格嗎? – user1727356

+0

頁面上是否有任何javascript錯誤? – rossta

回答

0

您應該已經獲得jQuery和不顯眼的jQuery的,如果你已經生成的應用程序並沒有改變gemfile。檢查它是否包含jquery-rails。如果是這樣,那麼你已經有jQuery準備好使用了。你不需要run rails generate jquery:install

+0

是的,我也想過同樣的事情,我真的不爲什麼沒有驗證的形式或顯示datepickers。這是一個神祕的,我真的需要的JavaScript – user1727356

0

嗯,首先,非常感謝你對我的幫助......我試過一個又一個最後一件事......我是從新鮮開始,我已經意識到,也許我在努力使已刪除的東西javascript工作,所以我決定再次創建一個項目(不是理想的事情,對嗎?),所以我只是在新項目中複製了我的視圖,進行了遷移等等。現在至少驗證是工作,我沒有嘗試datepickers或其他東西(希望他們也會工作)。如果知道發生了什麼,我會讓你知道它可能會幫助別人。