【问题标题】:twitter-bootstrap-rails: error loading stylesheetstwitter-bootstrap-rails:加载样式表时出错
【发布时间】:2015-04-16 11:34:01
【问题描述】:

我第一次尝试使用 Twitter-bootstrap-rails gem,但遇到了一些问题。我删除了 rails 生成的所有样式表,除了 application.css 并运行了

rails g bootstrap:install less

获取 bootstrap_and_overrides.css.less 文件。根据the documentation,您需要在我所做的 application.css 中要求 bootstrap_and 覆盖。

Application.css 如下所示:

 *
 *= require_tree .
 *= require bootstrap_and_overrides.css.less
 *= require_self
 */

bootstrap_and_overrides.css.less 看起来像这样:

@import "twitter/bootstrap/bootstrap";
@import "twitter/bootstrap/responsive";

// bootstrap variables and mixins
@import "twitter/bootstrap/variables.less";
@import "twitter/bootstrap/mixins.less";

// other auto generated code below

问题是当我尝试运行应用程序时遇到此错误:

NoMethodError in StaticPages#home
Showing /home/sheeka/Documents/workspace/my_projects/ruby/testapps/media_store/app/views/layouts/application.html.erb where line #5 raised:

undefined method `[]' for nil:NilClass

第 5 行指向

<%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>

当我删除 application.css 时,一切加载都没有问题,但没有引导样式。任何解决此问题的帮助将不胜感激。

【问题讨论】:

  • 试一试:你安装了less-rails gem吗?

标签: ruby-on-rails twitter-bootstrap twitter-bootstrap-rails


【解决方案1】:

您是否尝试过禁用涡轮链接?据我了解,turbo-links 已知与 javascript 库(如基础导轨 gem 和 twitter-bootstrap gem)的兼容性问题。

http://blog.steveklabnik.com/posts/2013-06-25-removing-turbolinks-from-rails-4

无论是否能解决问题,我都会这样做,只是为了避免任何不必要的麻烦。 (除非你绝对需要 turbolinks)。

最后,我希望你的 application.css 文件看起来像这样:

 *
 *= require_tree .
 *= require_self
 *= require bootstrap_and_overrides.css.less
 */

我相信在引导和覆盖之前应该需要 tree 和 self 。当我没有要求它在资产管道中以正确的顺序加载时,我得到了与基础相同的错误。使用资产管道,基本上的想法是您始终希望当前控制器特定的样式表能够覆盖应用程序中的任何其他样式表。 我希望这最终会有所帮助。当我收到此错误时,这对我有用。

http://guides.rubyonrails.org/asset_pipeline.html#manifest-files-and-directives

【讨论】:

    猜你喜欢
    • 2014-04-07
    • 2013-02-25
    • 2017-09-02
    • 2013-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    • 1970-01-01
    相关资源
    最近更新 更多