Jquery 如何在视图文件夹中使用js文件

Jquery 如何在视图文件夹中使用js文件,jquery,ruby-on-rails,ruby,renderpartial,Jquery,Ruby On Rails,Ruby,Renderpartial,我使用的是ruby on rails,我想呈现一个局部点击(使用jquery)示例如下: $('#submit').on('click', function(){ $('#lol').append("<%= escape_javascript(render :partial => 'myPartial' ) %>"); } $('#submit')。在('click',function(){ $(“#lol”).append(“'myPartial')%>”; }

我使用的是ruby on rails,我想呈现一个局部点击(使用jquery)示例如下:

$('#submit').on('click', function(){  
  $('#lol').append("<%= escape_javascript(render :partial => 'myPartial' ) %>");
}
$('#submit')。在('click',function(){
$(“#lol”).append(“'myPartial')%>”;
}
我基本上想提交一个表单,然后以只读格式显示结果(渲染部分),而不刷新页面。问题是我无法在资源管道中使用渲染。如何将我的JavaScript文件包含在视图文件夹中,或者如何解决此问题?

查看您的代码

$('#submit').on('click', function(){  
 $('#lol').append("<%= escape_javascript(render :partial => 'myPartial' ) %>");
} 
在视图中,您可以通过以下方式隐藏内容的父元素:

#your_content_container{
  display: none;
}
然后将jquery代码放在_file.js中

$(document).on("click","#submit",function(){
  $("##your_content_container").show();
})

如果它是一个表单,正如你的问题所说,那么你也需要在你的控制器中执行一些逻辑,所以你应该使用Ajax

因为它是一个表单,所以您需要在表单中使用remote:true选项,例如:

<%= form_for(@user, remote: true) do |f| %>
  // your fields
<% end %>
这将允许rails在视图中查找一个名为your_method.js.erb的文件,您可以在其中调用jquery并呈现部分内容。在您的_method.js.erb中

$('#lol').append("<%=j render :partial => 'myPartial' %>");
$('#lol')。追加('myPartial'>');
详情请参阅

def your_method
  #do your logic here
  respond_to do |format|
    format.js{}
  end
end
$('#lol').append("<%=j render :partial => 'myPartial' %>");