如何在视图文件夹中包含js.erb文件

Gre*_*gir 7 javascript ruby ruby-on-rails

我有一个用于视图的JavaScript文件.需要有Ruby代码,我需要render在Ruby中做,所以我理解我不能把JavaScript文件放在资产管道中.我可以将它放在与文件相同的视图文件夹中.html.erb.

如何包含JavaScript文件,或将该JavaScript文件用于该视图文件?我想javascript_include_tag在我的观点(即使用资产管道显然),使用脚本src="myfile.js"myfile.js.erb文件(但它无法找到myfile.js),和我的名字js.erb文件(users.js.erb)同我的.html.erb文件(users.html.erb),但都无济于事.

小智 6

javascript_include_tag将无法在视图文件夹本身中声明的js.erb工作.有三种不同的方法可以使用javascript.

1]在视图中编写代码,即在html.erb本身.

2]在public/javascripts文件夹中创建js文件,并使用javascript_include_tag包含它.

3]如果您想以Ajax的形式提出请求:

  • 在视图文件夹本身中创建js.erb,其名称与操作的名称相同.
  • 在创建了一些将调用此操作的表单的视图中,请使用:remote => true.
  • 在被调用的操作中,使用代码如下:

    def action
      respond_to do |format|
        format.js
      end
    end
    
    Run Code Online (Sandbox Code Playgroud)