我已经尝试了使用js.erb文件的所有内容,因为我需要使用ruby和我的js。
我知道这不是代码,因为我在application.js中有相同的东西,并且它工作正常。
模特:主题
我尝试将topics.js.erb添加到views / topics / 我已经尝试了部分_index.js.erb并渲染它 - 我看到它正在加载,但它没有执行。
在这两个文件中,我有:
np.random.seed(0)
df = pd.DataFrame(np.random.randn(100, 5), columns=list('ABCDE'))
df.iloc[::10] += np.random.randn() * 2 # this hopefully introduces some outliers
df.head()
Out:
A B C D E
0 2.529517 1.165622 1.744203 3.006358 2.633023
1 -0.977278 0.950088 -0.151357 -0.103219 0.410599
2 0.144044 1.454274 0.761038 0.121675 0.443863
3 0.333674 1.494079 -0.205158 0.313068 -0.854096
4 -2.552990 0.653619 0.864436 -0.742165 2.269755
我有什么明显的遗失吗? 谢谢!
答案 0 :(得分:1)
好的,我想我现在明白你的问题。您在控制器,index.html.erb
视图和index.js.erb
中有一些索引操作,并且您希望在呈现index.js.erb
后从index.html.erb
运行javascript。它不会起作用,js.erb
个视图用于其他内容。要仅在呈现索引操作时运行您的javascript代码,您只需将此javascript代码放在index.html.erb
视图中即可。或者您可以将此代码放在application.js
文件中并添加其他条件,因此它只会针对索引操作运行。
没有Rails方法可以解决这个问题,但你可以尝试这样的方法:
index.html.erb:
# ... your code here
<script type="text/javascript">
window.railsView = "controller_name#index";
</script>
的application.js:
$(document).ready(function() {
if (window.railsView == "controller_name#index") {
console.log("something");
}
});