我将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);
显然,目标是当我最终解决问题时,我会收到警报,让我知道它正在发挥作用。
答案 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