10

我希望能够在我的RoR项目中使用Bootstrap 3Sass,并让脚手架生成器输出Bootstrap 3HTML。我正在使用Ruby 2与Rails 4.如何让Ruby on Rails输出Bootstrap v3脚手架?

没什么太花哨 - 大多数情况下只有表单按钮才有相应的CSS类。

我用Rails Tutorial Sample App (ver 4)为基础,其中包括对bootstrap-sass宝石 - 但是当我用发电机的HTML没有正确的自举类 - 例如按钮没有btn btn-default类。

我意识到脚手架的行为与其设计的一样,它是一个基础,并且意味着要被定制(或替换) - 但是似乎应该不难生成的HTML也是“Bootstrap就绪”

enter image description here

一个相关的问题不得不如果有人提到,在目录lib/erb/scaffoldedit.html.erb编辑文件的答案 - 会覆盖Rails会使用脚手架默认模板。我并不反对,但我希望可能会有这样的gem

我喜欢使用bootstrap-sass宝石,我希望有这将是与之兼容的解决方案 - 我宁愿使用scss不是less

好像应该有几个宝石来做到这一点。

+0

所以问题是什么,到底是什么?你的模板没有应用到他们的类,你想要的? – cimmanon

+0

是的 - 我想生成的模板具有它们包含的元素(按钮,表格,表单等)的默认引导类 – cwd

+0

如果您使用的是simple_form,您可以自定义它以添加默认元素。像config.button_class ='btn btn-primary'。此外,没有官方发布的简单表格支持BS3 –

回答

21

我有同样的麻烦,但最终发现这一点: https://github.com/decioferreira/bootstrap-generators

它包括引导3.1和提供脚手架,你可以选择HAML和SCSS以及其他选项。

例如,当我做rails g scaffold Link guid:string profile:string media_url:string

它会自动生成此:

automatically scaffolded with Bootstrap 3

编辑的Heroku USERS

我也有麻烦推我的应用程序正在使用引导发电机( v3.1.1)到Heroku。 Heroku发出了错误File to import not found or unreadable: bootstrap.scss

修复程序竟然是修改自动生成的bootstrap-generators.scss文件。将@import "bootstrap.scss";更改为@import "bootstrap";(例如,只删除扩展名)。

新编辑为HEROKU用户 新宝石3.1.1.1修复了这个错误。您不再需要在bootstrap-geneerators.scss文件中将@import "bootstrap.scss";更改为@import "bootstrap";

+0

非常好。最近我还发现了[bootstrap-sass-extras](https://github.com/doabit/bootstrap-sass-extras),但我认为你的看起来更好。 – cwd

+0

我也试过这个,但是这个似乎是一个更一般的解决方案 – jpwynn

+0

看起来正是我所要求的。谢谢! – cwd

5

如果您需要自定义生成的视图越多,你实际上可以覆盖与自己的默认视图。

只要把它们放在lib/templates/{erb|haml}/scaffold。你可以看到一些示例文件here

+0

谢谢你的信息和链接! – cwd