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
false
en 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_classes
instellingconfig.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_store
ofnull_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
:debug
in 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
:uglifier
en: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:precompile
wordt uitgevoerd - config.assets.digest : met deze optie kunnen
MD-5
vingerafdrukken in de namen van de items worden gebruikt. Het staat standaard op true in de ontwikkelingsmodus - config.assets.compile : Schakelt live
Sprockets
compilatie 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 |