0

我在 js.erb 文件中有以下内容:

  //add an image from the gallery to the mail later
  $('.uploaded_image').click(function(){

      var src=$(this).attr('src').replace("thumb", "medium");
      var location = $('#user_image_location').attr('value');
      $('#mailing_body').contents().find("[data-edit-img="+''+location+''+"]").attr('src', src);
      $('#image_form').html('<%=render "user_images/form"%>');
      $('[data-dismiss]="cancel"').click();

  })

我想我可以在 js 文件中使用 erb 来替换页面上的内容。我收到以下错误:

undefined method `render' for #<#<Class:0x00000103dea400>:0x000001059f2198>

如果我删除以下行:

  $('#image_form').html('<%=render "user_images/form"%>');

一切正常。

我以为我可以在带有 Rails 3.2 的 js 文件中使用 erb

为什么这不起作用?

提前致谢。

4

1 回答 1

2

您当然可以在您的 .js.erb 文件中使用渲染(包括任何和所有帮助程序、资源等)(我刚刚验证确定)。

对于.js.erb要以与您的文件相同的方式处理的.html.erb文件,它们必须放在您的views文件夹中(例如app/views/<controller>app/views/shared),它们不能放在您的app/assets/javascripts文件夹中。

于 2012-04-24T11:37:20.843 回答