RoR:在我的视图中从form_for帮助器调用application.js中的javascript函数

时间:2014-11-18 21:19:32

标签: javascript ruby-on-rails ruby form-for

我有一个视图(edit.html.erb),其中包含一个form_for帮助器:

<%= form_for(@user, html: { class: "directUpload" }) do |f| %>
  <%= render 'shared/error_messages', object: f.object %>

  <%= f.label :name %>
  <%= f.text_field :name %>

  <%= f.label :email %>
  <%= f.text_field :email %>

  <%= f.label :avatarurl %>
  <%= f.file_field :avatarurl %>

  <%= f.label :password %>
  <%= f.password_field :password %>

  <%= f.label :password_confirmation, "Confirm Password" %>
  <%= f.password_field :password_confirmation %>

  <%= f.submit "Save changes", class: "btn btn-large btn-primary" %>
<% end %>

在使用这段代码遇到很多麻烦之后,我终于将.directUpload放在我的application.js中,并发出警告,看看我是否甚至从我的form_for接到了一个电话。

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require turbolinks
//= require_tree .

$(function() {
  alert('got here 1');
  $(".directUpload input[type=file]").each(function(i, elem) {
    alert('got here 2');
    .
    .
    .

结果:没有。显然,我的麻烦一直是调用我的功能?!

任何帮助将不胜感激。请记住,我是Rails的新手!

提前致谢!

2 个答案:

答案 0 :(得分:0)

试试这个:

alert( $(".directUpload input[type=file]") );

答案 1 :(得分:0)

根据迈克尔在评论中的建议,我安装了jquery-turbolinks并修改了turbolinks。对函数的调用开始起作用。