Javascript没有执行(我包括format.js)

时间:2012-11-23 02:25:54

标签: ruby-on-rails ruby-on-rails-3

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

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

到我的inflections.rb文件...因为我的模型叫做Business。

我的观点/ js位于views / commerce / *

在我脱掉头发之前请帮忙!

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

alert(1);

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

2 个答案:

答案 0 :(得分:3)

您如何调用索引页?如果您从浏览器访问索引页面,则无法呈现index.js。这是使用格式背后的重点。您将不得不使用javascript调用您的索引方法(类似于ajax调用)。您的型号名称与它没有任何关系。

答案 1 :(得分: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