在ajax加载的模式中执行ra_ live_validations

时间:2013-11-22 14:12:48

标签: jquery ruby-on-rails ajax

我正在运行一个旧的Rails 2.3应用程序,我在使用AJAX加载的模式中的表单上运行live_validations时遇到了麻烦。

这是我在模态中加载AJAX的页面:

<div class="central_content">   
    <%= t("flags_.form_title") %>
    <% form_for (@flag, :remote => true, :live_validations => true) do |f| %>

        <%= hidden_field_tag (:post_id, @flag.post_id) %>

        <%= f.text_area :explanation, :placeholder => t("flags_.explanation") %>
        <%= f.submit t("messages_.send"), :class => "nice_small_butt red" %>

    <% end %>
</div>

当模态打开时,我得到:

TypeError: $(...).validate is not a function

这是Rails编写的代码

<div class="central_content">   
    <h1>Motiva la tua segnalazione </h1>

    <form action="/flags" class="new_flag" id="new_flag" method="post"><div style="margin:0;padding:0;display:inline"><input name="authenticity_token" type="hidden" value="y5qw6kodM4/rzcYDf1xtx364uzN3izjm+ZsTpfbUmHA=" /></div>

        <input id="post_id" name="post_id" type="hidden" value="31252" />

        <textarea cols="40" id="flag_explanation" name="flag[explanation]" placeholder="Indica qui i motivi della tua segnalazione (es: &quot;La documentazione è insufficiente, tanto che...&quot;, &quot;Il testo dell'istruzione non è stato rispettato infatti...&quot;, ecc..).  La tua motivazione comparirà all'interno di una mail più ampia che i Comunity Ninja di Upload riceveranno, quindi cerca di essere il più specifico e dettagliato possibile nello spiegare cosa rende l'esecuzione non valida e cosa secondo te dovrebbe essere fatto per rimediare." rows="20"></textarea>
        <input class="nice_small_butt red" id="flag_submit" name="commit" type="submit" value="Invia" />

    </form><script type="text/javascript">

          $('#new_flag').validate({"messages":{},"ignore":".ignore","rules":{"flag[explanation]":{"minlength":80}}})
        </script>
</div>

在AJAX调用之后,Rails for live_validation生成的Jquery代码似乎无法正常工作。我怎样才能解决这个问题?

我正在使用在jQuery Validation插件之前加载的Jquery 1.7.1 - v1.11.1

1 个答案:

答案 0 :(得分:0)

刚刚发现该插件没有正确加载。 我试图使用javascript_include_tag加载Jquery验证插件。

切换到显式,现在一切正常。