Something I struggle with is setting up my text editor/app with the correct file structure to proceed with a project. Sometimes you dont need all the information given in running rails new APP_Path
and I was given the following templates -- corneal and Hazel -- that do come in handy, but sometimes you just want to build it yourself.
Directory structure:
├── config.ru
├── Gemfile
├── Gemfile.lock
├── Rakefile
├── README
├──── app
│ ├──── controllers
│ │ └──── application_controller.rb
│ ├──── models
│ └──── views
│ ├──── layout.erb
│ └──── index.erb
├──── config
│ ├──── initializers
│ └──── environment.rb
├──── db
│ ├──── migrate
│ └──── seeds.rb
├──── lib
│ └──── .gitkeep
└──── public
| ├──── images
| ├──── javascripts
| └──── stylesheets
| └───── main.css
└──── spec
├──── application_controller_spec.rb
└──── spec_helper.rb
So I set up the below if you want to just copy and paste into a terminal:
First mkdir app_name
then cd app_name
touch config.ru
bundle init Gemfile
touch Rakefile
touch README
mkdir app
mkdir app/models
mkdir app/views
touch app/views/index.erb
touch app/views/layout.erb
mkdir app/controllers
touch app/controllers/application_controller.rb
mkdir config
touch config/environment.rb
mkdir db
mkdir db/migrate
touch db/seeds.rb
mkdir public
mkdir public/images
mkdir public/javascript
mkdir public/stylesheets
touch public/stylesheets/main.css
I found it easier to copy and paste the above information to get the files I need in my application going.
After getting my file structure set up it is important to add all the gems you may require
Sinatra bundle add sinatra
Sinatra-activerecord bundle add sinatra-activerecord
activerecord bundle add activerecord
sqlite3 bundle add sqlite3
pry bundle add pry
require_all bundle add require_all
shotgun bundle add shotgun
then you must run bundle install
Feel free to add as many gems that you may require to proceed with your project. After completing that you need to make sure that your files are connected correctly and have the correct information inside of them. I cover that in a future post.
Top comments (0)