动态下拉菜单将javascript放在何处?

动态下拉菜单将javascript放在何处?,javascript,ruby-on-rails,ruby,Javascript,Ruby On Rails,Ruby,我正在研究rails中的动态下拉列表,并用这个答案来指导我。然而,到目前为止,我还没有在rails中使用javascript,我想知道应该在哪些文件中粘贴相应的代码?请参阅链接以供参考 “表单”代码在我的应用程序中转到index.html.erb “js.coffee”代码进入了我各自控制器的咖啡脚本。我的控制器名为products\u controller.rb,因此我创建了一个名为products.js.coffee的脚本 “controller”代码进入了我的名为“products\u c

我正在研究rails中的动态下拉列表,并用这个答案来指导我。然而,到目前为止,我还没有在rails中使用javascript,我想知道应该在哪些文件中粘贴相应的代码?请参阅链接以供参考

“表单”代码在我的应用程序中转到index.html.erb

“js.coffee”代码进入了我各自控制器的咖啡脚本。我的控制器名为products\u controller.rb,因此我创建了一个名为products.js.coffee的脚本

“controller”代码进入了我的名为“products\u controller.rb”的控制器

“js.erb”-->我不知道该放在哪里:(

非常感谢!

您应该阅读,但要给您一些提示

您的“主”javascript文件是
app/assets/javascripts/application.js

从这里可以通过
/=require
语法包含其他Javascript文件

您可以为正在加载的javascript文件免费使用
.coffee
.erb
扩展名

application.js中有一行写着
/=require\u tree.

这意味着将自动加载
app/assets/javascripts
中的每个文件

例如,如果您想编写一个coffeescript文件,您可以创建
app/assets/javascripts/my_file.js.coffee
,然后在application.js中编写
/=require my_file

如果需要ERB预处理,可以将文件重命名为
my_file.js.coffee.ERB
——预处理步骤由文件扩展名链决定

Rails的文件看起来是特定于控制器的(
app/assets/javascripts/products.js.coffee
),但实际上所有这些文件都被编译到application.js中,并且在每个页面上都可以找到。如果您需要,请参阅以获取有关此文件的更多详细信息以及如何获取特定于控制器的Javascript的说明