在现有的Rails应用中添加twitter-bootstrap-rails

12

我正在尝试将twitter-bootstrap-rails与现有的Rails应用程序一起使用,但在刷新页面时出现以下错误:

no such file to load -- less (in /app/assets/stylesheets/bootstrap_and_overrides.css.less)

Extracted source (around line #5):

2: <html>
3: <head>
4:   <title>Tracker</title>
5:   <%= stylesheet_link_tag    "application" %>
6:   <%= javascript_include_tag "application" %>
7:   <%= csrf_meta_tags %>
8: </head>

我做错了什么?有任何想法吗? 谢谢

5个回答

11

在我的情况下,仅仅重新启动rails服务器并不能解决问题。我需要完成以下步骤来解决问题:

1. 首先我需要安装缺失的Gem,我添加了以下内容到我的Gemfile文件中:

  gem "therubyracer"
  gem "less-rails"

然后我在控制台中运行了以下命令:

bundle install

2. 最后,我不得不重新启动我的rails服务器。

经过所有这些步骤,twitter bootstrap已经可以在我的rails应用程序中正常工作。希望这能帮助到遇到和我一样问题的人!


1
在某些情况下,您可能尚未安装therubyracer。
请添加。
#gem 'therubyracer' , '= 0.10.2'

添加到您的Gemfile中


#bundle install

可能可以解决这个问题。 (在我的情况下,我无法安装rubyracer 0.11.0, 所以我指定了0.10.2)

如果您尚未安装libv8,则必须执行

#gem install libv8 --version=3.11.8.3

或者事先类似这样的东西。


1
我尝试了所有这些方法,但仍然不得不添加 gem 'less-rails',以防其他人遇到同样的问题。 - woz

0

我通过将stylesheet_link_tag替换为bootstrap_and_overrides使其正常工作。然而,我正在使用devise进行身份验证和twitter-bootstrap-rails,我认为它会破坏devise用户模型,因为没有任何注销或登录功能可用。


0
我也能够通过在布局模板的 stylesheet_link_tag 标签中使用“bootstrap_and_overrides”来取代“application”(根据sdurg4的建议)使其起作用。

0

使用Rails 3.2.13:

在安装了三个gem包(therubyracer / less-rails / twitter-bootstrap-rails)之后,我将application.css中的这一行 *= require twitter/bootstrap 替换为 *= require bootstrap_and_overrides。

根据Github的更新指南:

此文件为您导入Bootstrap和响应式样式(响应式模块已分离)。 https://github.com/seyhunak/twitter-bootstrap-rails/wiki/Upgrading-Guide


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接