【问题标题】:Correct way to use coffee script in rails5在rails 5中使用coffeescript的正确方法
【发布时间】:2018-04-26 22:15:14
【问题描述】:

我正在开发我的第一个 Rails 应用程序,并尝试通过单击页面中的另一个链接在我的视图中显示/隐藏特定的 Web 元素。以下是我的看法,

%p
 = link_to 'Show additional details', "#", id: "secondary-link"

%table{:id => "secondary"}
 %tr
  %th Key
  %th Value

其中“辅助链接”是显示/隐藏我的表格的链接。当页面首先加载时,表格被我的 application.css.scss 中的以下行隐藏

#secondary{
 display: none;
}

另外,我在我的 assets/javascripts/application.coffee 中添加了以下脚本

@myFunction = (variable) ->
  $(document).on "page:change", ->
    $('#secondary-link').click ->
      $('#secondary').toggle()

但是,当我单击页面中的链接时,该表格未显示。但是,在我的控制台中,如果我输入“myFunction”,我将获得该功能

ƒ (variable) {
 return $(document).on("page:change", function() {
   return $('#secondary-link').click(function() {
     return $('#secondary').toggle();
   });
 });
}

当我输入 myFunction() 时出现错误

Uncaught TypeError: Cannot read property 'on' of undefined
at myFunction (application.self-4e74630fd8894bca1e22a8d66c1d7ebfaa39edf4f40e058aae03fc788a9f6d94.js?body=1:3)
at <anonymous>:1:1

感谢您的帮助。

【问题讨论】:

  • 你是怎么打电话给myFunction的?你把它放在哪里了?
  • 在我的浏览器控制台中,我输入了“myFunction”并且可以看到它正在加载。此外,如果我单击链接“显示其他详细信息”,该链接应该切换另一个元素的可见性,页面将加载“#”端点。
  • 你必须打电话给myFunction()(带括号)
  • 哎呀。 when i call that myFunction(), i am getting an error "application.self-47d2b709084c7a2d291f788c1a659efac20243f96e18a63b3b4b42285b64978c.js?body=1:3 Uncaught TypeError: Cannot read property 'on' of undefined at myFunction (application.self-47d2b709084c7a2d291f788c1a659efac20243f96e18a63b3b4b42285b64978c.js?body =1:3) 在 :1:1"
  • Cannot read property 'on' of undefined - 你在使用 jQuery 吗?您可能忘记包含依赖项

标签: ruby-on-rails coffeescript ruby-on-rails-5


【解决方案1】:

我不知道为什么会出现这个问题,但我通过直接在我的 application.js 文件中使用 jquery 并删除了咖啡文件来修复它。我的 js 文件有以下代码来处理事件。

$(document).ready(function() {
  $('#secondary-link').click(function(event){
     return $('#secondary').toggle();
  });
});

我已经停止并重新启动了服务器,这有效。

【讨论】:

    猜你喜欢
    • 2017-02-17
    • 2020-02-26
    • 2019-06-12
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多