安装gem(bootstrap-wysihtml5)时,我是否必须手动移动javascript和css文件?

时间:2013-12-22 19:09:09

标签: ruby-on-rails gem asset-pipeline bundler

我想我错过了一个至关重要的步骤:

安装gem(即bootstrap-wysihtml5)时,我应该采取哪些步骤来正确查找和引用javascript和css文件。

我将gem bootstrap-wysihtml5添加到我的gemfile中,然后运行bundle install。

我将//= require bootstrap-wysithtml5放在application.js*= require bootstrap-wysithtml5 application.css中。

我收到以下错误:

 Error compiling CSS asset

 Sprockets::File not found: couldnt find file 'bootstrap-wysihtml5.css'

我是否必须手动将js和css复制到相关的应用程序/资产文件中,或者是否存在我缺少的关键步骤?

2 个答案:

答案 0 :(得分:1)

正如比利所说,正确的宝石是bootstrap-wysihtml5-rails。宝石安装JS / CSS而不需要您付出更多努力。

  1. 将此添加到您的Gemfile

    gem 'bootstrap-wysihtml5-rails'
    
  2. 将此添加到app/assets/javascripts/application.js

    //= require bootstrap-wysihtml5
    
  3. 将此添加到app/assets/stylesheets/application.css

    *= require bootstrap-wysihtml5
    
  4. 请注意bootstrap-wysihtml5-rails需要Bootstrap。如果您还没有将Bootstrap添加到项目中,请关注此gem的创建者的these steps

    1. Gemfile中,添加以下内容:

      gem 'anjlab-bootstrap-rails', :require => 'bootstrap-rails',
                                    :github => 'anjlab/bootstrap-rails'
      
    2. app/assets/stylesheets/application.css重命名为app/assets/stylesheets/application.css.scss
    3. 将以下内容添加到app/assets/stylesheets/application.css.scss

      @import "twitter/bootstrap";
      
    4. 将以下内容添加到app/assets/javascripts/application.js

      //= require twitter/bootstrap
      
    5. 一旦宝石& Bootstrap都已安装,初始化为wysihtml5。

      <textarea id="some-textarea" class='wysihtml5' placeholder="Enter text ..."></textarea>
      <script type="text/javascript">
        $(document).ready(function(){
      
          $('.wysihtml5').each(function(i, elem) {
            $(elem).wysihtml5();
          });
      
        });
      </script>
      

答案 1 :(得分:1)

我找到了解决方案!谢谢你的帮助。

通过将javascript引用的位置移动到此订单,它现在似乎有效。

//= require jquery
//= require jquery_ujs
//= require bootstrap-wysihtml5/b3
//= require bootstrap/bootstrap

我不知道为什么订单会产生这样的差异。但它现在有效!感谢。