【问题标题】:Creating Rails Gem with assets and backwards compatibility (before assets pipeline, < Rails 3.0)创建具有资产和向后兼容性的 Rails Gem(在资产管道之前,< Rails 3.0)
【发布时间】:2024-01-03 07:06:01
【问题描述】:

因此,我阅读了许多关于如何在 Rails Gem 中包含资产的指南。我的问题围绕着希望我的 Gem 具有向后兼容性。我想同时支持最新版本的 Rails,以及 Rails 3.0 及之前的版本,在资产管道出现之前的一段时间。

我怎样才能让我的 gem 将它的 javascripts 放在正确的位置(它曾经在 /public/javascripts,现在应该是 /app/assets/javascripts)。

检测 Rails 版本并相应放置的最佳方法是什么?

谢谢

【问题讨论】:

    标签: ruby-on-rails gem asset-pipeline


    【解决方案1】:
    Rails::VERSION::STRING
    => "3.2.13"
    
    Rails::VERSION::MAJOR
    => 3
    
    Rails::VERSION::MINOR
    => 2
    

    在 Rails 2/3.0 中,您可以添加一个 rails 生成器来将您的 javascript 和样式表复制到公共目录。

    而在 Rails >= 3.1 中,它默认在资产文件夹中可用,您可以拥有它们:

    rails g yourgem:install
    

    并编写该生成器以公开创建文件。

    【讨论】:

    • 你有使用生成器为 Rails 3.0 风格移动 javascripts 的例子吗?一个链接将不胜感激。
    • edge.rubyonrails.org/generators.html 在 Rails 3.0 上工作(更早,你必须谷歌)
    最近更新 更多