14

wrapbootstrapからtwitterブートストラップテーマを購入しました。私はすでに機能的なレールアプリケーションを持っています。ここで、ブートストラップテーマをアプリケーションに統合してアプリケーションを設計したいと思います。私はこれに不慣れで、それをどのように行うのか分かりません。これについて多くの調査を行った後、私はこの問題に関するごくわずかな議論しか見つけませんでした。たとえば、私はこの投稿を見つけました:RailsアプリへのWrapBootstrapテーマの実装

ただし、テーマのアセットがアプリケーションにどのように適用されるかは完全にはわかりません。プロジェクトの下にあるすべてのアセットとapp/assets/images、テーマの対応するフォルダーからフォルダーをコピーしました。次に、アプリをローカルで実行しようとすると、いくつかのエラーが発生しました。ファイルを削除した後、動作を開始しました。しかし、まだ適用されているテーマのデザインは見当たりません。このテーマをRailsアプリで機能させるにはどうすればよいですか?app/assets/javascriptsapp/assets/stylesheetsapplication.css

4

2 に答える 2

22

最初にこのスクリーンキャストを確認してください。

http://railscasts.com/episodes/328-twitter-bootstrap-basics

次に、bootstrap-sassのようなブートストラップgemを追加し、次に、次のようにマニフェストに追加して、gemを介してJSファイルを追加します。

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require_tree .

次に、wrapboostrapから購入したcssファイルを取得し、それらをアセット/スタイルシートフォルダーに配置します。次に、必要なマークアップとクラスをアプリに追加します。これは、以前の方法です。

それが役に立てば幸い

編集:

マークアップ:

ダウンロードしたテンプレートを確認します。たとえば、ナビゲーションバーから始めましょう。

テンプレートからのコード:

<header>
    <div class="navbar navbar-fixed-top">
        <div class="navbar-inner">
            <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </a>
            <div class="container">
                <a class="brand" href="index.html">Gaia Business</a>
                <div class="nav-collapse">
                    <ul class="nav">
                        <li class="active"><a href="index.html">Home</a></li>
                        <li><a href="about.html">About</a></li>
                        <li><a href="service.html">Service</a></li>
                        <li><a href="faq.html">FAQ</a></li>
                        <li><a href="contact.html">Contact</a></li>
                        <li class="dropdown">
                          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
                          <ul id="dropdown-menu" class="dropdown-menu">
                            <li><a href="#">Dropdown 1</a></li>
                            <li><a href="#">Dropdown 2</a></li>
                            <li><a href="#">Dropdown 3</a></li>
                            <li class="divider"></li>
                            <li class="nav-header">Nav header</li>
                            <li><a href="#">Dropdown 4</a></li>
                            <li><a href="#">Dropdown 5</a></li>
                          </ul>
                        </li>
                    </ul>
                </div><!-- /.nav-collapse -->
            </div><!--/.container-->
        </div><!-- /navbar-inner -->
    </div>
</header><!--/header-->

次に、アプリに自分自身を配置する必要があります。ナビゲーションバーがアプリのすべてのビューに表示される場合は、layouts/application.html.erbに次のように記載する必要があります。

<!DOCTYPE html>
<html>
<head>
  <title>Golden Green Chlorella</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>

</head>
<body>

<%= render :partial => 'layouts/navbar' %>
<%= yield %>
</body>
</html>

そして最後に、navbarを部分的に実行します

_navbar.html.erb:

<header>
    <div class="navbar navbar-fixed-top">
        <div class="navbar-inner">
            <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
                <span class="icon-bar glyph"></span>
                <span class="icon-bar glyph"></span>
                <span class="icon-bar glyph"></span>
            </a>
            <div class="container">
                <%= link_to "Your app", root_path, :class => "brand" %> 
                <div class="nav-collapse">
                    <ul class="nav">
                        <li class=<%= current_page?(static_index_path) || current_page?(root_path) ? "active" : "" %> > <%= link_to (t "navbar.home"), root_path%></li>
                        <li class=<%= current_page?(static_know_path) ? "active" : "" %>> <%= link_to (t "navbar.know"), static_know_path%></li>  
                        <li class=<%= current_page?(static_buy_path) ? "active" : "" %>> <%= link_to (t "navbar.buy"), static_buy_path%></li>                       
                        <li class=<%= current_page?(static_faq_path) ? "active" : "" %>> <%= link_to "FAQ", static_faq_path%></li>           
                        <li class=<%= current_page?(static_contact_path) ? "active" : "" %>> <%= link_to (t "navbar.contact"), static_contact_path%></li>

                        <!-- <li class="active"><a href="index.html">Home</a></li> -->
                    </ul>
                    <ul class="nav pull-right">
                        <li><%= link_to "English", static_english_path%></li>
                        <li><%= link_to "Español", static_spanish_path%></li>
                    </ul> 
                </div><!-- /.nav-collapse -->
            </div><!--/.container-->
        </div><!-- /navbar-inner -->
    </div>
</header><!--/header-->

これはナビゲーションバー専用でした。残りの作業を行う必要があります。テンプレートに示されているマークアップを追加して、すべてのアプリで実行するのは簡単な作業ではありませんが、それがどのように行われるかです。

于 2013-03-27T03:05:01.190 に答える
7

twitterブートストラップをインストールするときに、次のgemを「group:assets」の下のGemfileに追加する必要があることを確認してください。

gem 'therubyracer'
gem 'less-rails'
gem 'twitter-bootstrap-rails'

次に、bundleコマンドを実行します。

これで、ダウンロードしたテーマ「file_name.css」(file_nameは任意)を、app->asserts->stylesheetsの下の「stylesheets」フォルダーに追加するだけです。

次に、同じフォルダーにあるapplication.cssファイルを開きます。

*= require_tree.

この行を次のように置き換えます

*= require "file_name.css"

注:アセットを再コンパイルするか、tmp/cacheフォルダーのコンテンツを削除することを忘れないでください。

保存してサーバーを再起動します。新しいテーマが適用されます。

于 2013-06-06T07:19:07.113 に答える