【问题标题】:Rails Jquery Throwing Strange ErrorRails Jquery抛出奇怪的错误
【发布时间】:2017-08-12 13:24:20
【问题描述】:

我正在尝试让 Jquery 在静态投资组合网站上工作。

我的代码是

home.html.erb

<%= link_to navigation_main_path(format: :js), remote: true do %>
<h2> ENTER SITE </h2>
<% end %>

navigation_controller.rb

class NavigationController < ApplicationController

  def home     

    respond_to do |format|
      format.js
      format.html 
    end

  end

  def main

  end

end

format.js.erb(用于测试)在 app/views/navigation

alert('hi');

我认为错误正在阻止任何工作

Uncaught SyntaxError: Unexpected token

它告诉我在我的 HTML 的第一行有一个带有 DOCTYPE 的意外标记,我不知道为什么并且我的 format.js.erb 代码没有运行。感谢您的帮助

【问题讨论】:

  • Rails 预编译其资产(css、js 等)时,它会删除所有空格以加快代码加载速度。这就是为什么它告诉你错误在第一行,因为 整个脚本 在第一行!另外我注意到语法错误是从 rails-ujs 抛出的,而不是从你的脚本中抛出的。这可能意味着 rails-ujs 在某处被滥用...(并且不是 rails-ujs 是问题所在)
  • 谢谢Darius,你知道rails-ujs在哪里被滥用了吗?我的 format.js.erb 文件的路径也正确吗?

标签: javascript jquery ruby-on-rails ruby xmlhttprequest


【解决方案1】:

其实format.js.erb放错地方了!

根据 Rails 命名约定,控制器和视图的资源名称应该是复数。 Rails 期待 NavigationsControllerviews/navigations/format.js.erb

有关命名约定的更多信息here

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-25
    • 2018-05-11
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    相关资源
    最近更新 更多