【发布时间】:2017-03-14 17:17:56
【问题描述】:
在我的index.html.erb 文件中,我有一个成功提交onChange 的表单。但是,这仅在我使用放置在表单之后的<script> 标签时才有效。为什么welcome.js中的同一个js没有运行?索引加载为 /welcome 路由。
# app/assets/javascripts/application.js
//= require jquery
//= require jquery_ujs
//= require jquery-ace.min
//= require jquery.sortable
//= require chartkick
//= require hammer
//= require_tree .
外部js文件
# app/assets/javascripts/welcome.js
$('.chart-radio-icon').change(function(){
$('#mega_form').submit();
});
查看
# views/welcome/index.html.erb
<%= form_tag mega_chart_path, id: 'mega_form', remote: true do %>
<%= radio_button_tag :metric_type, :followers_count, true, :class => 'chart-radio-icon'%>
<%= label_tag(:followers, 'Followers', :class => 'chart-label chart-label-social') %>
同样,当将 js 放置在视图中的 <script> 标记中时,js 可以工作,但不能放在外部。
【问题讨论】:
-
页面上是否加载了javascript?你能得到一个
console.log('Hello World');工作吗? -
@JamesMilani 如果我将
console.log('Hello World');放在外部文件中,然后转到页面上的检查 > 控制台,我什么也看不到。 -
你重启服务器了吗?这可能与您的资产如何在本地包含在您的管道中有关。
-
是的,我已经重启了服务器
-
您的
app/config/initializers/assets.rb中发生了什么?里面有什么东西吗?
标签: javascript jquery ruby-on-rails view jquery-events