Ruby On Rails Notes for Professionals book

    Amazing collection of free programming books

    Collecting
    Free
    Amazing collection of free programming books

    The Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow. Text content is released under Creative Commons BY-SA. See credits at the end of this book whom contributed to the various chapters. Images may be copyright of their respective owners unless otherwise specified

    Book created for educational purposes and is not affiliated with group(s), company(s) nor Stack Overflow. All trademarks belong to their respective company owners

    https://goalkicker.com/

    Content

    1-1Content list
    1-2About
    1-3Chapter 1: Getting started with Ruby on Rails
    1-4Section 1.1: Creating a Ruby on Rails Application
    1-5Section 1.2: Create a new Rails app with your choice of database and including the RSpec Testing Tool
    1-6Section 1.3: Generating A Controller
    1-7Section 1.4: Installing Rails
    1-8Section 1.5: Create a new Rails app with a non-standard database adapter
    1-9Section 1.6: Creating Rails APIs in JSON
    1-10Section 1.7: Generate a Resource with Scaolds
    1-11Chapter 2: Routing
    1-12Section 2.1: Resource Routing (Basic)
    1-13Section 2.2: Constraints
    1-14Section 2.3: Scoping routes
    1-15Section 2.4: Concerns
    1-16Section 2.5: Root route
    1-17Section 2.6: Split routes into multiple files
    1-18Section 2.7: Additional RESTful actions
    1-19Section 2.8: Member and Collection Routes
    1-20Section 2.9: Mount another application
    1-21Section 2.10: Nested Routes
    1-22Section 2.11: Redirection
    1-23Section 2.12: Redirects and Wildcard Routes
    1-24Section 2.13: Scope available locales
    1-25Section 2.14: URL params with a period
    1-26Chapter 3: ActiveRecord
    1-27Section 3.1: Creating a Model via generator
    1-28Section 3.2: Introduction to Callbacks
    1-29Section 3.3: Creating a Model manually
    1-30Section 3.4: Manually Testing Your Models
    1-31Section 3.5: Creating A Migration
    1-32Section 3.6: Create a Join Table using Migrations
    1-33Section 3.7: Using a model instance to update a row
    1-34Chapter 4: Views
    1-35Section 4.1: Structure
    1-36Section 4.2: Partials
    1-37Section 4.3: AssetTagHelper
    1-38Section 4.4: Replace HTML code in Views
    1-39Section 4.5: HAML - an alternative way to use in your views
    1-40Chapter 5: ActiveRecord Migrations
    1-41Section 5.1: Adding multiple columns to a table
    1-42Section 5.2: Add a reference column to a table
    1-43Section 5.3: Rollback migrations
    1-44Section 5.4: Add a new column with an index
    1-45Section 5.5: Run specific migration
    1-46Section 5.6: Redo migrations
    1-47Section 5.7: Add a new column to a table
    1-48Section 5.8: Remove an existing column from a table
    1-49Section 5.9: Add column with default value
    1-50Section 5.10: Running migrations in dierent environments
    1-51Section 5.11: Create a new table
    1-52Section 5.12: Running migrations
    1-53Section 5.13: Change an existing column’s type
    1-54Section 5.14: Create a hstore column
    1-55Section 5.15: Create a join table
    1-56Section 5.16: Add a self reference
    1-57Section 5.17: Create an array column
    1-58Section 5.18: Add an unique column to a table
    1-59Section 5.19: Checking migration status
    1-60Section 5.20: Changing Tables
    1-61Section 5.21: Adding a NOT NULL constraint to existing data
    1-62Section 5.22: Forbid null values
    1-63Chapter 6: Rails Best Practices
    1-64Section 6.1: Fat Model, Skinny Controller
    1-65Section 6.2: Domain Objects (No More Fat Models)
    1-66Section 6.3: Beware of default_scope
    1-67Section 6.4: Convention Over Configuration
    1-68Section 6.5: Don't Repeat Yourself (DRY)
    1-69Section 6.6: You Ain’t Gonna Need it (YAGNI)
    1-70Chapter 7: Naming Conventions
    1-71Section 7.1: Controllers
    1-72Section 7.2: Models
    1-73Section 7.3: Filenames and autoloading
    1-74Section 7.4: Views and Layouts
    1-75Section 7.5: Models class from Controller name
    1-76Chapter 8: ActionCable
    1-77Section 8.1: User Authentication
    1-78Section 8.2: [Basic] Server Side
    1-79Section 8.3: [Basic] Client Side (Coeescript)
    1-80Chapter 9: ActiveModel
    1-81Section 9.1: Using ActiveModel::Validations
    1-82Chapter 10: User Authentication in Rails
    1-83Section 10.1: Authentication using Devise
    1-84Section 10.2: Devise Controller Filters & Helpers
    1-85Section 10.3: Omniauth
    1-86Section 10.4: has_secure_password
    1-87Section 10.5: has_secure_token
    1-88Chapter 11: ActiveRecord Associations
    1-89Section 11.1: Polymorphic association
    1-90Section 11.2: Self-Referential Association
    1-91Section 11.3: belongs_to
    1-92Section 11.4: has_one
    1-93Section 11.5: has_many
    1-94Section 11.6: The has_many :through association
    1-95Section 11.7: The has_one :through association
    1-96Section 11.8: The has_and_belongs_to_many association
    1-97Chapter 12: ActiveRecord Validations
    1-98Section 12.1: Validating length of an attribute
    1-99Section 12.2: Validates format of an attribute
    1-100Section 12.3: Validating presence of an attribute
    1-101Section 12.4: Custom validations
    1-102Section 12.5: Validates inclusion of an attribute
    1-103Section 12.6: Grouping validation
    1-104Section 12.7: Validating numericality of an attribute
    1-105Section 12.8: Validate uniqueness of an attribute
    1-106Section 12.9: Skipping Validations
    1-107Section 12.10: Confirmation of attribute
    1-108Section 12.11: Using :on option
    1-109Section 12.12: Conditional validation
    1-110Chapter 13: ActiveRecord Query Interface
    1-111Section 13.1: .where
    1-112Section 13.2: .where with an array
    1-113Section 13.3: Scopes
    1-114Section 13.4: Get first and last record
    1-115Section 13.5: Ordering
    1-116Section 13.6: where.not
    1-117Section 13.7: Includes
    1-118Section 13.8: Joins
    1-119Section 13.9: Limit and Oset
    1-120Section 13.10: .find_by
    1-121Section 13.11: .delete_all
    1-122Section 13.12: ActiveRecord case insensitive search
    1-123Section 13.13: .group and .count
    1-124Section 13.14: .distinct (or .uniq)
    1-125Chapter 14: ActionMailer
    1-126Section 14.1: Basic Mailer
    1-127Section 14.2: Generating a new mailer
    1-128Section 14.3: ActionMailer Interceptor
    1-129Section 14.4: Adding Attachments
    1-130Section 14.5: ActionMailer Callbacks
    1-131Section 14.6: Generate a Scheduled Newsletter
    1-132Chapter 15: Rails generate commands
    1-133Section 15.1: Rails Generate Controller
    1-134Section 15.2: Rails Generate Migration
    1-135Section 15.3: Rails Generate Scaold
    1-136Section 15.4: Rails Generate Model
    1-137Chapter 16: Configuration
    1-138Section 16.1: Custom configuration
    1-139Chapter 17: I18n - Internationalization
    1-140Section 17.1: I18n with arguments
    1-141Section 17.2: Translating ActiveRecord model attributes
    1-142Section 17.3: Get locale from HTTP request
    1-143Section 17.4: Pluralization
    1-144Section 17.5: Set locale through requests
    1-145Section 17.6: Use I18n with HTML Tags and Symbols
    1-146Section 17.7: Use I18n in views
    1-147Chapter 18: Using GoogleMaps with Rails
    1-148Section 18.1: Add the google maps javascript tag to the layout header
    1-149Section 18.2: Geocode the model
    1-150Section 18.3: Show addresses on a google map in the profile view
    1-151Section 18.4: Set the markers on the map with javascript
    1-152Section 18.5: Initialize the map using a coee script class
    1-153Section 18.6: Initialize the map markers using a coee script class
    1-154Section 18.7: Auto-zoom a map using a coee script class
    1-155Section 18.8: Exposing the model properties as json
    1-156Chapter 19: File Uploads
    1-157Section 19.1: Single file upload using Carrierwave
    1-158Section 19.2: Nested model - multiple uploads
    1-159Chapter 20: Caching
    1-160Section 20.1: Russian Doll Caching
    1-161Section 20.2: SQL Caching
    1-162Section 20.3: Action caching
    1-163Section 20.4: Fragment caching
    1-164Section 20.5: Page caching
    1-165Section 20.6: HTTP caching
    1-166Chapter 21: ActionController
    1-167Section 21.1: Basic REST Controller
    1-168Section 21.2: Filters
    1-169Section 21.3: Generating a controller
    1-170Section 21.4: Rescuing ActiveRecord::RecordNotFound with redirect_to
    1-171Section 21.5: Display error pages for exceptions
    1-172Section 21.6: Output JSON instead of HTML
    1-173Section 21.7: Controllers (Basic)
    1-174Section 21.8: Parameters
    1-175Section 21.9: Filtering parameters (Basic)
    1-176Section 21.10: Redirecting
    1-177Section 21.11: Using Views
    1-178Chapter 22: Configuration
    1-179Section 22.1: Rails General Configuration
    1-180Section 22.2: Configuring assets
    1-181Section 22.3: Configuring generators
    1-182Section 22.4: Environments in Rails
    1-183Section 22.5: Database Configuration
    1-184Chapter 23: Safe Constantize
    1-185Section 23.1: Successful safe_constantize
    1-186Section 23.2: Unsuccessful safe_constantize
    1-187Chapter 24: Rails 5
    1-188Section 24.1: How to install Ruby on Rails 5 on RVM
    1-189Section 24.2: Creating a Ruby on Rails 5 API
    1-190Chapter 25: Authorization with CanCan
    1-191Section 25.1: Getting started with CanCan
    1-192Section 25.2: Handling large number of abilities
    1-193Section 25.3: Defining abilities
    1-194Section 25.4: Quickly test an ability
    1-195Chapter 26: Mongoid
    1-196Section 26.1: Fields
    1-197Section 26.2: Installation
    1-198Section 26.3: Creating a Model
    1-199Section 26.4: Classic Associations
    1-200Section 26.5: Embedded Associations
    1-201Section 26.6: Database Calls
    1-202Chapter 27: Gems
    1-203Section 27.1: Gemfiles
    1-204Section 27.2: What is a gem?
    1-205Section 27.3: Bundler
    1-206Section 27.4: Gemsets
    1-207Chapter 28: Change default timezone
    1-208Section 28.1: Change Rails timezone AND have Active Record store times in this timezone
    1-209Section 28.2: Change Rails timezone, but continue to have Active Record save in the database in UTC
    1-210Chapter 29: Asset Pipeline
    1-211Section 29.1: Manifest Files and Directives
    1-212Section 29.2: Rake tasks
    1-213Section 29.3: Basic Usage
    1-214Chapter 30: Upgrading Rails
    1-215Section 30.1: Upgrading from Rails 4.2 to Rails 5.0
    1-216Chapter 31: ActiveRecord Locking
    1-217Section 31.1: Optimistic Locking
    1-218Section 31.2: Pessimistic Locking
    1-219Chapter 32: Debugging
    1-220Section 32.1: Debugging Rails Application
    1-221Section 32.2: Debugging Ruby on Rails Quickly + Beginner advice
    1-222Section 32.3: Debugging ruby-on-rails application with pry
    1-223Section 32.4: Debugging in your IDE
    1-224Chapter 33: Configure Angular with Rails
    1-225Section 33.1: Angular with Rails 101
    1-226Chapter 34: Rails logger
    1-227Section 34.1: Rails.logger
    1-228Chapter 35: Prawn PDF
    1-229Section 35.1: Advanced Example
    1-230Section 35.2: Basic Example
    1-231Chapter 36: Rails API
    1-232Section 36.1: Creating an API-only application
    1-233Chapter 37: Deploying a Rails app on Heroku
    1-234Section 37.1: Deploying your application
    1-235Section 37.2: Managing Production and staging environments for a Heroku
    1-236Chapter 38: ActiveSupport
    1-237Section 38.1: Core Extensions: String Access
    1-238Section 38.2: Core Extensions: String to Date/Time Conversion
    1-239Section 38.3: Core Extensions: String Exclusion
    1-240Section 38.4: Core Extensions: String Filters
    1-241Section 38.5: Core Extensions: String Inflection
    1-242Chapter 39: Form Helpers
    1-243Section 39.1: Creating a search form
    1-244Section 39.2: Dropdown
    1-245Section 39.3: Helpers for form elements
    1-246Chapter 40: ActiveRecord Transactions
    1-247Section 40.1: Basic example
    1-248Section 40.2: Dierent ActiveRecord classes in a single transaction
    1-249Section 40.3: Multiple database connections
    1-250Section 40.4: save and destroy are automatically wrapped in a transaction
    1-251Section 40.5: Callbacks
    1-252Section 40.6: Rolling back a transaction
    1-253Chapter 41: RSpec and Ruby on Rails
    1-254Section 41.1: Installing RSpec
    1-255Chapter 42: Decorator pattern
    1-256Section 42.1: Decorating a Model using Draper
    1-257Section 42.2: Decorating a Model using SimpleDelegator
    1-258Chapter 43: Elasticsearch
    1-259Section 43.1: Searchkick
    1-260Section 43.2: Installation and testing
    1-261Section 43.3: Setting up tools for development
    1-262Section 43.4: Introduction
    1-263Chapter 44: React with Rails using react-rails gem
    1-264Section 44.1: React installation for Rails using rails_react gem
    1-265Section 44.2: Using react_rails within your application
    1-266Section 44.3: Rendering & mounting
    1-267Chapter 45: Rails Cookbook - Advanced rails recipes/learnings and coding techniques
    1-268Section 45.1: Playing with Tables using rails console
    1-269Section 45.2: Rails methods - returning boolean values
    1-270Section 45.3: Handling the error - undefined method `where' for #<Array:0x000000071923f8>
    1-271Chapter 46: Multipurpose ActiveRecord columns
    1-272Section 46.1: Saving an object
    1-273Section 46.2: How To
    1-274Chapter 47: Class Organization
    1-275Section 47.1: Service Class
    1-276Section 47.2: Model Class
    1-277Chapter 48: Shallow Routing
    1-278Section 48.1: Use of shallow
    1-279Chapter 49: Model states: AASM
    1-280Section 49.1: Basic state with AASM
    1-281Chapter 50: Rails 5 API Authetication
    1-282Section 50.1: Authentication with Rails authenticate_with_http_token
    1-283Chapter 51: Testing Rails Applications
    1-284Section 51.1: Unit Test
    1-285Section 51.2: Request Test
    1-286Chapter 52: Active Jobs
    1-287Section 52.1: Introduction
    1-288Section 52.2: Sample Job
    1-289Section 52.3: Creating an Active Job via the generator
    1-290Chapter 53: Rails frameworks over the years
    1-291Section 53.1: How to find what frameworks are available in the current version of Rails?
    1-292Section 53.2: Rails versions in Rails 1.x
    1-293Section 53.3: Rails frameworks in Rails 2.x
    1-294Section 53.4: Rails frameworks in Rails 3.x
    1-295Chapter 54: Nested form in Ruby on Rails
    1-296Section 54.1: How to setup a nested form in Ruby on Rails
    1-297Chapter 55: Factory Girl
    1-298Section 55.1: Defining Factories
    1-299Chapter 56: Import whole CSV files from specific folder
    1-300Section 56.1: Uploads CSV from console command
    1-301Chapter 57: Tools for Ruby on Rails code optimization and cleanup
    1-302Section 57.1: If you want to keep your code maintainable, secure and optimized, look at some gems for code optimization and cleanup :
    1-303Chapter 58: ActiveJob
    1-304Section 58.1: Create the Job
    1-305Section 58.2: Enqueue the Job
    1-306Chapter 59: Active Model Serializers
    1-307Section 59.1: Using a serializer
    1-308Chapter 60: Rails Engine - Modular Rails
    1-309Section 60.1: Create a modular app
    1-310Chapter 61: Single Table Inheritance
    1-311Section 61.1: Basic example
    1-312Section 61.2: Custom inheritance column
    1-313Section 61.3: Rails model with type column and without STI
    1-314Chapter 62: ActiveRecord Transactions
    1-315Section 62.1: Getting Started with Active Record Transactions
    1-316Chapter 63: Turbolinks
    1-317Section 63.1: Binding to turbolink's concept of a page load
    1-318Section 63.2: Disable turbolinks on specific links
    1-319Section 63.3: Understanding Application Visits
    1-320Section 63.4: Cancelling visits before they begin
    1-321Section 63.5: Persisting elements across page loads
    1-322Chapter 64: Friendly ID
    1-323Section 64.1: Rails Quickstart
    1-324Chapter 65: Securely storing authentication keys
    1-325Section 65.1: Storing authentication keys with Figaro
    1-326Chapter 66: Authenticate Api using Devise
    1-327Section 66.1: Getting Started
    1-328Chapter 67: Integrating React.js with Rails Using Hyperloop
    1-329Section 67.1: Adding a simple react component (written in ruby) to your Rails app
    1-330Section 67.2: Callbacks
    1-331Section 67.3: Declaring component parameters (props)
    1-332Section 67.4: HTML Tags
    1-333Section 67.5: Event Handlers
    1-334Section 67.6: States
    1-335Chapter 68: Change a default Rails application enviornment
    1-336Section 68.1: Running on a local machine
    1-337Section 68.2: Running on a server
    1-338Chapter 69: Rails -Engines
    1-339Section 69.1: Famous examples are
    1-340Chapter 70: Adding an Amazon RDS to your rails application
    1-341Section 70.1: Consider we are connecting MYSQL RDS with your rails application
    1-342Chapter 71: Payment feature in rails
    1-343Section 71.1: How to integrate with Stripe
    1-344Chapter 72: Rails on docker
    1-345Section 72.1: Docker and docker-compose
    1-346Appendix A: Reserved Words
    1-347Section A.1: Reserved Word List
    1-348Credits
    1-349You may also like

    FAQ

    您可以透過手機、平板或是電腦登入 HiSKIO 平台,在【我的學習】>【我的書籍】頁面,選擇想看的電子書。

    Recommendations

    Reviews

    | Collecting

    Sales Plans