Rails Console Commands Using Mac Terminal
Posted on August 12, 2015 in Rails by Matt Jennings
Inside a Directory in Mac Terminal, Create a Rails Project named sample_app
rails new sample_app
OR without adding a unit test:
rails new sample_app --skip-test-unit
OR
rails new sample_app -T
Go Inside the Rails Console
rails console
OR
rails c
Start a New Rails Web Server
rails server
OR
rails s
Install Gems for a Rails Project
- After running a command likeĀ
rails new sample_app
, open yoursample_app
directory in a code editor like RubyMine. - Open the
Gemfile
file which will be in the project root directory (sample_app
). - Uncomment out the commented
gem 'bcyrpt'
line to enable the bcrypt Gem which will be used for creating encrypted passwords. - BEFORE the
group :development, :test do
install the hirb Gem by adding the code below:
gem 'hirb'
- Then to install this Gem for my Rails project, in the project directory in Terminal do:
bundle install
- The
bundle install
command needs to be run after a theGemfile
file is edited and you add in new Gem, likegem 'hirb'
that we entered above.
In Terminal, Create a Model called User
that has first_name
, last_name
, email
, and age
Attributes
rails g model User first_name:string last_name:string email:string password:string age:integer
After that, create the users
table by doing:
rake db:migrate
View an Empty User
Object Instance in the Rails Console
User.new
Add a New User into the users
Table in the Rails Console
User.create(first_name: "Jon", last_name: "Snow", age: 17, email: "know@nullnothing.com", password: "password")
After Installing the hirb
Gem in your Gemfile File, Use it the Rails Console to Rows in the users
Table in an Easy Way using the Rails Console
Hirb.enable
User.all
If the Jon Snow
user I entered into the users
table is the Last Table Entry, Update It
User.last.update(age: 18)
After Installing the RSpec Gem in the Gemfile
File, Create RSpec Files
rails g rspec:install
In a Rails App, How to View the Seven RESTful Routes
In the /config/routes.rb
file, after the Rails.application.routes.draw do
add the code below:
resources :products
Then in Terminal do:
rake routes
View Error Messages in the Rails Console
- In a Rails App, setting up errors validation in a model file. Below is example code for a
demo
project directory andproduct.rb
model file (/demo/app/models/product.rb
) that only tests if the form fields for the name and description attributes in the products table are NOT blank:class Product < ActiveRecord::Base validates :name, :description, presence: true end
- Open Terminal and go into the rails console to do the steps below, pressing
Enter
after each line:
rails c
product = Product.new(name: "", description: "")
product.save
product.errors.full_messages
- Then, you’ll see the error message output in the Terminal below:
["Name can't be blank", "Description can't be blank"]
View the Rails RESTful Routes
- If working inside a demo2 project directory, open the routes file listed below:
/demo2/config/routes.rb
- In the
routes.rb
file, under the line similar toRails.application.routes.draw do
add a line like below, with:users
meaning that a users table has already been created:
resources :users
- To make the
/users
and/
paths both point to the Users controller, index method add this code, also inroutes.rb
:
root 'users#index'
- Go back into your project directory in Terminal, and to view the Rails RESTful Routes do:
rake routes
Create a Users Controller with the 5 Rails RESTful Routes GET Requests that Generates the Controller, View, RSpec, and Other Useful File(s)
NOTE: The create
, update
and destroy
controller methods will be post
, patch
and delete
requests respectively in routes.rb
.
rails g controller Users index new show edit