Rails生成器:更改生成的JS和CSS文件的目录

时间:2013-09-06 03:07:48

标签: ruby-on-rails asset-pipeline

我喜欢将控制器特定的JS和CSS资产分别放在app / assets / javascripts / controllers和app / assets / stylesheets / controllers中(注意最后的'controllers'文件夹)。

是否有简单的方法来配置默认的Rails控制器生成器以将JS和CSS存根放在正确的位置?现在,我需要在生成后手动将它们移动到'controllers'文件夹中。

1 个答案:

答案 0 :(得分:3)

所以,你应该做以下事情:

1,运行rails g generator rails/my_assets

2,将生成的文件(lib / generators / rails / my_assets / my_assets_generator.rb)更改为

class Rails::MyAssetsGenerator < Rails::Generators::NamedBase
  def create_assets_file
    create_file "app/assets/javascripts/controllers/#{file_name}.js", <<-FILE
  your content
    FILE
    create_file "app/assets/stylesheets/#{file_name}.css.scss", <<-FILE
  your content
    FILE
  end
end

3,将此行添加到application.rb

config.generators.assets :my_assets

在此代码中,您可以更改默认的Rails资产生成器。您可以在http://guides.rubyonrails.org/generators.html#customizing-your-workflow-by-changing-generators-templates找到更多相关信息。