The rails new
command creates a new Rails application with a default
directory structure and configuration at the path you specify.
You can specify extra command-line arguments to be used every time
rails new
runs in the .railsrc configuration file in your home directory,
or in $XDG_CONFIG_HOME/rails/railsrc
if XDG_CONFIG_HOME
is set.
Note that the arguments specified in the .railsrc file don’t affect the default values shown below.
rails new
command are listed below in a table.bin/rails new -h
Command | Description |
---|---|
rails _VERSION_ new APP_PATH
|
Specify which version to use when creating a new rails application. Example: Default: latest version of Rails gem installed for the Ruby version in use. |
rails new APP_PATH --database=DATABASE
|
Preconfigure for selected database (options: mysql, trilogy, postgresql, sqlite3, oracle, sqlserver, jdbcmysql, jdbcsqlite3, jdbcpostgresql, jdbc). Default: sqlite3. |
rails new APP_PATH --javascript=JAVASCRIPT
|
Choose JavaScript approach (options: importmap (default), bun, webpack, esbuild, rollup). Default: importmap |
rails new APP_PATH --css=CSS
|
Choose CSS processor (options: tailwind, bootstrap, bulma, postcss, sass). Check https://github.com/rails/cssbundling-rails for more options |
rails new APP_PATH --asset-pipeline=ASSET_PIPELINE
|
Choose your asset pipeline (options: sprockets (default), propshaft). Default: sprockets |
rails new APP_PATH --api
|
Preconfigure smaller stack for API only apps. Default: false |
rails new APP_PATH --minimal
|
Preconfigure a minimal rails app |
rails new APP_PATH --template=TEMPLATE
|
Path to some application template (can be a filesystem path or URL) |
rails new APP_PATH --ruby=PATH
|
Path to the Ruby binary of your choice. Default: /Users/hrishi/.rvm/rubies/ruby-3.2.2/bin/ruby |
rails new APP_PATH --name=NAME
|
Name of the app |
rails new APP_PATH --dev, --no-dev, --skip-dev
|
Set up the application with Gemfile pointing to your Rails checkout |
rails new APP_PATH --edge, --no-edge, --skip-edge
|
Set up the application with a Gemfile pointing to the 7-1-stable branch on the Rails repository |
rails new APP_PATH --master, --main, --no-main, --skip-main
|
Set up the application with Gemfile pointing to Rails repository main branch |
rails new APP_PATH --rc=RC
|
Path to file containing extra configuration options for rails command |
rails new APP_PATH --no-rc
|
Skip loading of extra configuration options from .railsrc file |
rails new APP_PATH --skip-active-record
|
Skip Active Record files |
rails new APP_PATH --skip-test
|
Skip test files |
rails new APP_PATH --skip-system-test
|
Skip system test files |
rails new APP_PATH --skip-git
|
Skip git init, .gitignore and .gitattributes |
rails new APP_PATH --skip-bundle
|
Don't run bundle install |
rails new APP_PATH --skip-javascript
|
Skip JavaScript files |
rails new APP_PATH --skip-action-mailer
|
Skip Action Mailer files |
rails new APP_PATH --skip-active-storage
|
Skip Active Storage files |
rails new APP_PATH --skip-hotwire
|
Skip Hotwire integration |
rails new APP_PATH --skip-sprockets
|
Skip Sprockets files |
rails new APP_PATH --skip-keeps
|
Skip source control .keep files |
rails new APP_PATH --skip-spring
|
Skip Spring gem |
rails new APP_PATH --skip-bootsnap
|
Skip Bootsnap gem |
rails new APP_PATH --skip-namespace
|
Skip namespace (affects only isolated engines). Default: false |
rails new APP_PATH --skip-collision-check
|
Skip collision check. Default: false |
rails new APP_PATH --skip-docker
|
Skip Dockerfile, .dockerignore and bin/docker-entrypoint |
rails new APP_PATH --skip-action-mailbox
|
Skip Action Mailbox gem |
rails new APP_PATH --skip-action-text
|
Skip Action Text gem |
rails new APP_PATH --skip-active-job
|
Skip Active Job |
rails new APP_PATH --skip-action-cable
|
Skip Action Cable files |
rails new APP_PATH --skip-asset-pipeline
|
Indicates when to generate skip asset pipeline |
rails new APP_PATH --skip-jbuilder
|
Skip jbuilder gem |
rails new APP_PATH --skip-dev-gems
|
Skip development gems (e.g., web-console) |
rails new APP_PATH --skip-decrypted-diffs
|
Don't configure git to show decrypted diffs of encrypted credentials |