新手问题 rails 使用 bootstrap 出错

Cifer_Y · 2014年03月23日 · 最后由 dyh_dyh 回复于 2014年04月16日 · 3752 次阅读

我是照着 railstutorial 学的, 开始我以为是我抄写代码的时候哪里搞错了, 然后我就把教程的代码挨个复制粘贴还是有错, 所以就来求助了

错误描述是这样的: html 代码里 bootstrap 结构都已经加好了, 然后: 1.安装'bootstrap-sass' 这个 gem 2.在 config/application.rb 里添加:config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif) 兼容 asset pipieline 3.创建文件:app/assets/stylesheets/custom.css.scss 4.在文件里写: @import "bootstrap"; 5.启动服务器就报错了, 按道理应该是能显示出样式的

错误现场是这样的:

报错是找不到方法, 但是那个方法我真是不知道是怎么来的.... 头好大啊...

读一下bootstrap-sass的 readme?或者给个 git 的源码地址? 单纯看报错看不出啥问题。。

@ericguo 谢谢提醒, 我去看看

@ericguo 不行啊.... 要不你帮我看看吧...我实在不知道是什么情况了, 我这个练习项目在这里

有没有重启 rails server ?

#4 楼 @jxs471494539 重启过了, 怎么都不行, 说是没有 environment 这个方法, 我把项目推倒重写也没用, 只要引用 bootstrap 就出错

楼主,你解决问题了没有?解决这个问题的办法是升级 sass-rails 这个 gem 到 4.0 以上

gem 'sass-rails', '~> 4.0.0'

借地问个,我在学习@Rei的 campo,我在使用 bootstrap-sass 这个 gem 的时候一直报错没变量,有遇到这个情况?! Undefined variable: "$gray-lighter". 我的 application.css.scss

/*
 *= require font-awesome
*/


$font-size-base: 15px;

@import "bootstrap";
@import "campo";

body {
  background: #eee;
}

.text-hide-overflow {
  overflow: hidden;
  text-overflow: ellipsis;
}

Gemfile

# Bootstrap
gem 'bootstrap-sass', '~> 3.1.1'

# Font Awesome
gem 'font-awesome-sass', '~> 4.0.2'

# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.1'

@qichunren 我的 sass-rails 是 4.0.1 的......

@stephen 你这个需要在 scss 文件里建立一个变量叫 $gray-lighter, 如果不是自定义的话, 我猜你是不是 scss 文件里应该用 $grayLight 这个变量, 这个变量是 bootstrap-sass gem 自带的

@Cifer_Y 这个变量本来就是属于 bootstrap-sass 的!

@stephen 嗯嗯, 是我没看仔细,我以为 gray-lighter 不是自带的

我的没问题了,好似是缓存问题,我把 campo 文件清空,运行一次,然后再把代码加上,就 OK 了,神兮兮!

自己做的个人 blog 就是前端就是用的 bootstrap,实际经验告诉我不要使用 bootstrap 的 gem,实际上也根本不需要使用,最好是放到 public 目录下,手动引入,另推荐 bootstrap3

@317583395 我这也是跟着教程做, 出了问题真的是抓瞎了....

#15 楼 @andor_chen 谢谢, 我看到了,问题也解决了, 还是我看的不仔细呀, 非常感谢

解了,PR,先顺手升级所有 gems 到最新版,然后开始准备解,发现就好了。。。

#13 楼 @317583395 这样其实不好,不 rails way,呵呵。。

#18 楼 @ericguo 我是跟着教程做, 所以没敢用最新的, 刚才看 andor_chen 给的链接已经解决了, 要把 sprockets 的版本定在 2.11.0

#18 楼 @ericguo #19 楼 @Cifer_Y 这种前端的东西还是分开比较好吧,方便管理和配置,可以看看我的个人 blog,前端就是用的 bootstrap3,可以指点一下

楼主,您好啊,我在教程中也遇到跟你一样的问题,@import “bootstrap” 报错,你怎么解决的,万分感谢

麻烦楼主看到回复我下,万分感谢了

@dyh_dyh 看第 19 楼.... 在 gemfile 里把 sprockets 的版本定在 2.11.0

楼住,我解决了,不过引入新的代码就错了

你和我是一样的教程吗

html { overflow-y: scroll; } body { padding-top: 60px; } section { overflow: auto; } textarea { resize: vertical; } .center { text-align: center; } .center h1 { margin-bottom: 10px; } 引入这段代码,报错说无效的 CSS,你遇到过这个问题吗,万分感谢

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册