【问题标题】:Rails scaffold without the css file?没有css文件的Rails脚手架?
【发布时间】:2011-08-23 10:22:45
【问题描述】:

有没有办法在 rails 3.0 中生成一个脚手架,这样才能不创建脚手架.css?我可以输入命令行中的某些内容以跳过该步骤吗?

谢谢

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 scaffold


    【解决方案1】:

    您可以使用--no-stylesheets 标志:

    rails g scaffold MyModel --no-stylesheets
    

    【讨论】:

    • 注意:这也会禁用资源特定的样式表,即不会创建app/assets/stylesheets/my_model.css.scss
    • 如果您的应用使用 Twitter Bootstrap,则使用 --no-stylesheets 是个好主意,因为 Rails 生成的 scaffold.css 文件会覆盖相当多的 Bootstrap 样式。
    【解决方案2】:

    你也可以默认禁用它——在config/application.rb:

    config.generators do |g|
      g.stylesheets false
    end
    

    Rails 本身仅将它用于scaffold.css AFAIK,但不幸的是,其他生成器也可以使用相同的钩子,因此您可能需要记住将--stylesheets 传递给生成资产的第三方 gem。如果 Rails 有 scaffold.css 的明确选项,那就太好了:-/

    顺便说一句,您可以找到其他生成器选项in the Rails Guides。 Helpers 可以默认关闭并在您真正需要时生成它们。

    【讨论】:

    • rails 有一个选项可以专门禁用scaffold.css:g.scaffold_stylesheet false
    • 谢谢@eikes,相当肯定该设置在 Rails 3 天内不存在,但如果问题/标签针对当前版本更新,我很乐意为您的回答投票。
    【解决方案3】:

    从 Rails 5.0 开始,config/application.rb 中有一个配置专门禁止生成 app/assets/stylesheets/scaffolds.css,但仍会为您的新资源生成样式表:

    config.generators do |g|
      g.scaffold_stylesheet false
    end
    

    您也可以将其作为--no-scaffold-stylesheet 命令行选项传入:

    rails generate scaffold post title body:text --no-scaffold-stylesheet
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-07
      • 1970-01-01
      • 2011-12-20
      • 1970-01-01
      • 1970-01-01
      • 2012-03-29
      • 2020-01-29
      • 2011-06-19
      相关资源
      最近更新 更多