2013-04-07 9 views
9

Ho esaminato la mia app e sto riscontrando problemi nel trovare esattamente dove si trova la fonte di avvio di Twitter quando la includo in una gemma. Ad esempio, se volessi visualizzare il file .st di Bootstrap, come lo trovo?Applicazione Rails: utilizzo di una gemma rispetto alla fonte con Twitter Bootstrap

L'alternativa, come ho capito, includerla come una gemma sarebbe scaricare e includere la fonte direttamente, corretta? Un approccio è migliore dell'altro.

Infine, se volessi modificare il cst di Bootstrap qual è il modo migliore per farlo? Se avessi la fonte nella mia app, immagino di poter andare lì e modificare le cose. Che ne dici se lo includo come una gemma?

Alcuni chiarimenti su come funziona sarebbero molto apprezzati. Avere la fonte nella directory della mia app da qualche parte ha senso, e potrei indicarlo rispetto ai file .html ... ma con il Gemfile mi sento come se le cose fossero in una piccola scatola nera ...

+3

Vi consiglio di guardare questo: http://railscasts.com/episodes/328-twitter-bootstrap-basics e leggere questo: https: // github.com/seyhunak/twitter-bootstrap-rails – fmendez

+0

Come ho incluso bootstrap ora ho usato "gem bootstrap-sass" e l'ho fatto al di fuori di qualsiasi ambiente specifico. Il video menziona includendolo nel gruppo di risorse. Devo adattarlo? Inoltre, in realtà non ho eseguito alcun programma di installazione bootstrap specifico tranne l'installazione di bundle. Probabilmente a causa di questo non ho una vera cartella Twitter o altre risorse installate ... (Sono arrivato a questo punto con il tutorial di Rails e non è stato menzionato nient'altro se non includendo la gem e i tag @import in un file .css) – MCP

risposta

14

Io assolutamente d'accordo è deludente per avere i file Bootstrap seduti all'esterno dell'applicazione.

vi consiglio il seguente flusso di lavoro, in questo caso:

  1. Clone repo bootstrap-sass da Github o scaricare i zipball. È il porto ufficiale di Bootstrap in Sass e viene aggiornato dalla stessa squadra.

  2. Copia solo partials Sass (quelli il cui nome file inizia con un trattino basso) a app/vendor/assets/stylesheets. Javascript e immagini vanno nelle rispettive directory sotto app/vendor/assets. Ciò ti ricorderà di stare lontano dal modificare quei file e allo stesso tempo di mantenere pulite le directory delle risorse dell'app. E ogni volta che hai voglia di osservarli più da vicino, saranno a portata di mano.

  3. Copia bootstrap.scss a app/assets/stylesheets e armeggiare con quelli tanto quanto si desidera. Assicurati di disattivare tutte le funzionalità che non stai utilizzando, perché portare quella roba significherà avere un file CSS più grande del necessario.

  4. Personalizza le variabili e le classi Boostrap e caricala dopo i file Bootstrap nel file manifest, proprio come faresti con un gioiello. Ad esempio, poniamo le tue variabili in _overrides.scss. Il tuo application.css.scss sarebbe simile a questa:

    @import "bootstrap"; 
    @import "overrides"; 
    

Questo è tutto. Questo è quello che è stato creato per app/vendor/assets!

+0

Questo è davvero utile . Grazie per aver mostrato il modo alternativo di lavorare con questi file. Questo fa sorgere un'altra domanda. Quando dici "vivi fuori dalla tua app", puoi dirmi esattamente dove vivono quando sono inclusi nella gemma? Questa potrebbe essere la mia mancanza di comprensione di come funzionano le gemme. Sono memorizzati da qualche parte con i miei ruby ​​/ rails gem e poi richiamati dall'applicazione in fase di esecuzione? – MCP

+2

Le gemme sono installate in luoghi diversi a seconda che si usi RVM o file binari Ruby. Ma è facile scoprirlo. Digita semplicemente 'gem which' seguito dal nome della gemma e vedrai dove si trova. Vai avanti e provalo con 'gem which rails' – depa

+0

Ehi @depa questo è esattamente quello che sto cercando di fare comunque sono confuso su alcune cose e lo apprezzerei davvero se tu potessi darmi una mano. 1. L'intero contenuto (comprese le sottodirectory) di bootstrap-sass-master/assets/stylesheet va in app/vendor/assets/stylesheet e dovrebbe essere conservato nelle rispettive sottodirectory o messo insieme? 2. bootstrap.scss non esiste nella directory, vuoi dire _bootstrap.scss, ed è questo l'unico file scss sottolineato che non va in app/vendor/assets/stylesheets? – thesowismine

2

Sono relativamente nuovo a RoR e ho trovato diversi modi per implementare il bootstrap. Ho provato la gemma thomas-mcdonald/bootstrap-sass e ho capito che funzionava alla grande. ma volevo avere una conoscenza più approfondita di cosa stessero facendo esattamente i file di bootstrap e di come fosse il codice. la risposta sopra è stata molto utile. volevo solo aggiungere che questo bootstrap 3 video si è dimostrato molto utile e ha funzionato per me.