我有很多型号。现在我想将JavaScript显示给特定的控制器和方法。
例如,如果我有这样的代码,并且只想在 communities / show 中显示它 我应该将它粘贴在view / communities / show.html.erb的头部吗? 还是有更聪明的方法来管理这类事情? 显然,如果我将它放在show文件的头部,它看起来很难看,因为JavaScript总是应放在< head> 标记。
<%= javascript_tag do %>
jQuery(document).ready(function () {
refreshPartial();
setInterval(refreshPartial, 5000)
});
function refreshPartial() {
$.ajax({
url: "<%= community_path %>/refresh_part",
type: "GET",
dataType: "script",
});
}
<% end %>
答案 0 :(得分:4)
<强> communities.js 强>
jQuery(document).ready(function () {
refreshPartial();
setInterval(refreshPartial, 5000)
});
function refreshPartial() {
$.ajax({
url: "community/refresh_part",
type: "GET",
dataType: "script",
});
}
查看/社区/ show.html.erb 强>
<%- content_for(:head) do -%>
<%= javascript_include_tag :communities.js -%>
<%- end -%>
<强> communities_layout 强>
<head>
<title>Merry Christmas!</title>
<%= yield(:head) -%>
</head>
答案 1 :(得分:1)
有几种方法可以做到这一点
show.html.erb的顶部:
<% content_for :javascript_includes do %>
<%= javascript_include_tag "forms.js" %>
<% end %>
另请参阅this answer
Where do you put page specific JavaScript code并查看How Asset Pipeline works