0

我将 format.js 添加到我的控制器中,但是当我查看我的索引页面时,我仍然无法让 index.js.erb 中的 js 执行。我唯一能弄清楚的是,它一定是因为型号名称。我不得不添加

ActiveSupport::Inflector.inflections do |inflect|
  inflect.irregular 'business', 'businesses'
end

到我的 inflections.rb 文件...因为我的模型被称为业务。

我的意见/js 位于意见/企业/*

在我拔头发之前请帮忙!

我在 index.js.erb 文件中的所有内容是:

alert(1);

显然,目标是当我最终解决问题时会收到警报,让我知道它正在工作。

4

2 回答 2

3

你怎么称呼你的索引页?如果您从浏览器访问索引页面,它将不会呈现index.js. 这就是使用格式的全部意义所在。您将不得不使用 javascript 调用索引方法(类似于 ajax 调用)。您的型号名称与它没有任何关系。

于 2012-11-23T06:13:39.783 回答
0

Javascript 执行与您的模型名称无关。也不是根据控制器或模型的名称来包含您的 JS 文件。如果您使用的是资产管道,则需要以下内容。

假设 index.js 在 /assets/javascripts/index.js 中,将以下内容添加到 /app/assets/javascripts/application.js

//= require ./index

如果您不了解这是如何工作的,您可能希望阅读资产管道的 Ruby on Rails 指南,可在此处找到:http: //guides.rubyonrails.org/asset_pipeline.html

作为旁注,对于你的屈折用法,我建议如果你要使用像 Rails 这样的框架,请尝试使用它附带的约定。它将为您节省将来的心痛。命名您的模型业务,以便您的表称为业务。除非你真的想要这样的东西:

has_one :businesses
于 2012-11-23T04:57:42.653 回答