Ruby on Rails
Configuratie
Zoeken…
Omgevingen in rails
Configuratiebestanden voor rails zijn te vinden in config/environments/ . Standaard heeft rails 3 omgevingen, development , production en test . Door elk bestand te bewerken, bewerkt u de configuratie alleen voor die omgeving.
Rails heeft ook een configuratiebestand in config/application.rb . Dit is een algemeen configuratiebestand, omdat alle hier gedefinieerde instellingen worden overschreven door de configuratie die in elke omgeving is opgegeven.
U voegt configuratieopties toe of wijzigt deze binnen het Rails.application.configure do block en configuratieopties beginnen met config.
Database configuratie
Databaseconfiguratie van een railproject ligt in een bestand config/database.yml . Als u een project maakt met de opdracht rails new en geen database-engine opgeeft die moet worden gebruikt, gebruikt rails sqlite als standaarddatabase. Een typisch database.yml bestand met standaardconfiguratie ziet er als volgt uit.
# SQLite version 3.x
# gem install sqlite3
#
# Ensure the SQLite 3 gem is defined in your Gemfile
# gem 'sqlite3'
#
default: &default
adapter: sqlite3
pool: 5
timeout: 5000
development:
<<: *default
database: db/development.sqlite3
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
<<: *default
database: db/test.sqlite3
production:
<<: *default
database: db/production.sqlite3
Als u de standaarddatabase wilt wijzigen terwijl u een nieuw project maakt, kunt u de database opgeven: rails new hello_world --database=mysql
Rails Algemene configuratie
De volgende configuratieopties moeten worden aangeroepen voor een Rails::Railtie object
- config.after_initialize : neemt een blok dat wordt uitgevoerd nadat rails de toepassing heeft geïnitialiseerd.
- config.asset_host : hiermee wordt de host ingesteld voor de middelen. Dit is handig wanneer u een Content Delivery Network gebruikt . Dit is een afkorting voor
config.action_controller.asset_host - config.autoload_once_paths : deze optie accepteert een reeks paden waar Rails constanten automatisch laden. De standaardwaarde is een lege array
- config.autoload_paths : dit accepteert een reeks paden waar Rails constanten automatisch laadt. Standaard worden alle mappen onder de
app - config.cache_classes : bepaalt of klassen en modules bij elk verzoek opnieuw moeten worden geladen. In de ontwikkelingsmodus is dit standaard
falseen in de productie- en testmodi is het standaardtrue - config.action_view.cache_template_loading : dit bepaalt of sjablonen bij elk verzoek opnieuw moeten worden geladen.
config.cache_classesinstellingconfig.cache_classes - config.beginning_of_week : hiermee wordt het standaard begin van de week ingesteld. Het vereist een geldig weekdagsymbool (
:monday) - config.cache_store : kies welke cache-store je wilt gebruiken. Opties omvatten
:file_store:memory_store,mem_cache_storeofnull_store. - config.colorize_logging : hiermee wordt bepaald of loginformatie wordt ingekleurd
- config.eager_load : Eager-laadt alle geregistreerde
- config.encoding : geeft de codering van de toepassing aan. De standaardwaarde is
UTF-8 - config.log_level : Stelt de uitgebreidheid van de Rails Logger in. Het is standaard ingesteld op
:debugin alle omgevingen. - config.middleware : gebruik dit om de middleware van de toepassing te configureren
- config.time_zone : hiermee wordt de standaardtijdzone van de toepassing ingesteld.
Activa configureren
De volgende configuratieopties kunnen worden gebruikt voor het configureren van middelen
- config.assets.enabled : bepaalt of de activapijplijn is ingeschakeld. Dit is standaard true
- config.assets.raise_runtime_errors : hiermee wordt runtime-foutcontrole ingeschakeld. Het is handig voor de
development mode - config.assets.compress : laat activa worden gecomprimeerd. In de productiemodus is dit standaard true
- config.assets.js_compressor : geeft aan welke JS-compressor moet worden gebruikt. Opties omvatten
:closure:uglifieren:yui - config.assets.paths : geeft aan welke paden naar activa moeten worden gezocht.
- config.assets.precompile : hiermee kunt u aanvullende activa kiezen die vooraf worden gecompileerd wanneer
rake assets:precompilewordt uitgevoerd - config.assets.digest : met deze optie kunnen
MD-5vingerafdrukken in de namen van de items worden gebruikt. Het staat standaard op true in de ontwikkelingsmodus - config.assets.compile : Schakelt live
Sprocketscompilatie in productiemodus
Generators configureren
Met Rails kunt u configureren welke generators worden gebruikt wanneer rails generate uitgevoerd rails generate opdrachten te rails generate . Deze methode, config.generators neemt een blok
config.generators do |g|
g.orm :active_record
g.test_framework :test_unit
end
Hier zijn enkele opties
| Optie | Beschrijving | Standaard |
|---|---|---|
| middelen | Creëert activa bij het genereren van steigers | waar |
| force_plural | Staat meervoudig modelnamen toe | vals |
| helper | Bepaalt of helpers moeten worden gegenereerd | waar |
| integration_tool | Specificeer integratie tool | test_unit |
| javascript_engine | Configureert JS-engine | :js |
| resource_route | Genereert bronroute | waar |
| stylesheet_engine | Configureert stylesheet-engine | :cs |
| scaffold_stylesheet | Creëert CSS bij steigers | waar |
| test_framework | Specificeer Test Framework | Minitest |
| template_engine | Configureert template engine | :erb |