我喜欢将特定于控制器的 JS 和 CSS 资产分别放在 app/assets/javascripts/controllers 和 app/assets/stylesheets/controllers 中(注意末尾额外的“controllers”文件夹)。
是否有简单的方法来配置默认的 Rails 控制器生成器以将 JS 和 CSS 存根放置在正确的位置?现在,我需要在生成后手动将它们移动到“控制器”文件夹中。
我喜欢将特定于控制器的 JS 和 CSS 资产分别放在 app/assets/javascripts/controllers 和 app/assets/stylesheets/controllers 中(注意末尾额外的“controllers”文件夹)。
是否有简单的方法来配置默认的 Rails 控制器生成器以将 JS 和 CSS 存根放置在正确的位置?现在,我需要在生成后手动将它们移动到“控制器”文件夹中。
所以,你应该做以下事情:
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
第三,将此行添加到 application.rb
config.generators.assets :my_assets
在此代码中,您更改了默认的 Rails 资产生成器。你可以在这里找到更多关于它的信息http://guides.rubyonrails.org/generators.html#customizing-your-workflow-by-chang-generators-templates。