- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我在 Rails 上使用 ruby,我想在点击时渲染部分内容(使用 jquery),例如:
$('#submit').on('click', function(){
$('#lol').append("<%= escape_javascript(render :partial => 'myPartial' ) %>");
}
我基本上想提交一个表单,然后在不刷新页面的情况下以只读格式显示结果(呈现部分)。问题是我不能在 Assets 管道中使用渲染。如何从 View 文件夹中包含我的 JavaScript 文件或什么是解决此问题的好方法?
最佳答案
查看你的代码
$('#submit').on('click', function(){
$('#lol').append("<%= escape_javascript(render :partial => 'myPartial' ) %>");
}
我认为您混淆了 ajax 和普通 jquery。如果您不需要执行任何其他操作,那么您应该使用普通的 jquery 来显示和隐藏您的内容。为此,您需要将此代码放入您的 app/assets/javascript/application.js 或创建一个新文件,然后在 application.js 中要求它,例如
//= require file_name
在你的 View 中,你可以通过给它一个这样的样式来隐藏你的内容的父元素:
#your_content_container{
display: none;
}
然后将你的 jquery 代码放在 your_file.js 中
$(document).on("click","#submit",function(){
$("##your_content_container").show();
})
如果它是您的问题所说的表单,那么您也需要在 Controller 中执行一些逻辑,因此您应该使用 Ajax
因为它是一个表单,所以你需要在你的表单中使用 remote: true 选项,比如:
<%= form_for(@user, remote: true) do |f| %>
// your fields
<% end %>
然后在你的 Controller 中你可以拥有
def your_method
#do your logic here
respond_to do |format|
format.js{}
end
end
这将允许 Rails 在您的 View 中查找名为 your_method.js.erb 的文件,您可以在其中调用您的 jquery 并呈现您的部分。在 your_method.js.erb 中
$('#lol').append("<%=j render :partial => 'myPartial' %>");
关于jquery - 如何在 View 文件夹中使用js文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24613684/
我是一名优秀的程序员,十分优秀!