gpt4 book ai didi

jquery - 如何在 View 文件夹中使用js文件

转载 作者:数据小太阳 更新时间:2023-10-29 07:59:50 27 4
gpt4 key购买 nike

我在 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' %>");

详情请引用Working with Javascript in Rails

关于jquery - 如何在 View 文件夹中使用js文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24613684/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com