
Build an ajax-enabled Ruby on Rails 5 contact manager from scratch, including user authentication, adding and editing contacts, group management, and in-page form validation with dynamic updates.
Generate a new Rails application with rails new, set the project directory, and install dependencies. Start the Puma server, visit localhost:3000 to verify, and explore Rails options.
Configure the database by editing config/database.yml with the correct username and password, set the database name for development and test environments, then run rails db:create to create the databases.
Learn how to use rails migrations to create groups and contacts tables, manage schema changes over time, and define relationships like contacts belonging to groups.
Specify a column's length in a migration by setting a string limit, run and rollback migrations, and learn to generate and destroy models and migrations with Rails commands.
Learn to seed a Rails app by creating groups and related contacts, reset the database with rails db:seed, and generate 20 dummy records using seeds.rb and Ruby iterators.
Learn how Rails routes map user requests to controller actions and render views, using config/routes.rb to dispatch to the contacts controller index and set the root to the contacts page.
Learn two ways to integrate Bootstrap into a Rails app: install via npm, bower, or yarn, and via the Bootstrap gem; update asset styles to scss and adjust templates.
Display all contacts in a Rails app by fetching Contact.all in the index action, storing them in an instance variable, and rendering each contact's name, company, and email in the view.
Learn how to display all contacts from the database on one page using collection rendering, partials, and render calls in Rails.
Implement a no-record found alert on the Rails contacts index, using blank? to toggle visibility, and test empty data via the Rails console for an Ajax app.
Build an Ajax web app in Ruby on Rails by implementing contact avatars with Gravatar, fallbacks, and Bootstrap media object, including image_tag usage and email-based Gravatar integration.
Learn to implement pagination in a Rails app with a pagination gem, set a global per-page default, and override it per model via config and model methods.
Implement dynamic pagination in a Ruby on Rails 5 Ajax app using a paging helper and the page parameter, then apply bootstrap styles to the paginator for a functional UI.
Display all contact groups from the database in a sidebar using belongs_to and has_many associations, with dynamic links showing group names and contact counts and filtering by the selected group.
Identify the selected sidebar link by matching the group id parameter, apply an active class with string interpolation, and convert query strings to integers to ensure the correct active state.
Filter contacts by group id in the index action, converting the parameter to integer and using ActiveRecord where on group_id to display the group's contacts when a link is clicked.
Link the new contact button to the new contact path, route to the contacts controller, and render a traditional Rails form that posts to create with dynamic group options.
Learn how to save contact data to the database in a Rails app by handling form submission, using create vs new, enabling strong parameters, and displaying flash messages after redirects.
Learn how Rails validations protect data before saving by defining presence and length rules in the ActiveRecord model, and displaying error messages in forms.
Leverage the Rails form helper to build a reusable form with a shared partial, support edit and update flows, and configure routes and HTTP verbs for create and update actions.
Learn to build a Rails contact form with form helpers, use text area for addresses, add a select with collection options, and manage create and update actions.
Learn to upload and resize images in a Rails app using the Paperclip gem, configure image sizes, migrations, and forms to display avatars with defaults.
Fix missing images by setting a default image with the file helper, adjust to 150 by 150 or 100 by 100, and place files in Rails public with Medium folder.
Fix the form's image preview in a Ruby on Rails app by installing a gem, updating assets and partials, and using the image type helper for a medium-sized display.
Add a delete contact feature by updating the delete link, routing to the destroy method, and adding a confirmation dialog to prevent accidental deletions, noting paperclip handles file uploads.
Refactor Rails code by using a before_action to call find_contact before update and destroy, following the DRY principle. Update resources routes and adjust views to keep the app functioning.
Fix the selected sidebar group by storing the group id in session and applying it to the form and sidebar, ensuring the right group stays selected after save.
Add a search form to the contacts index using form_tag with get, a text field for the term, and a hidden group id to filter by name.
Refactor the Rails app to implement a clean, dry search feature by moving term and group filtering from the controller to model class methods, handling empty inputs gracefully.
Define and use an Active Record scope to implement a reusable search across name, company, and email, with term presence and case-sensitive handling via lower and like logic.
Implement a search form feature in a Ruby on Rails ajax app, organize markup in layouts, and render the form. Filter contacts by name, email, and company, with autocomplete.
Add autocomplete to a Rails 5 ajax app by typing queries, matching them to contacts, and rendering a hash with id and name via a RubyGems autocomplete plugin and controller action.
Discover how to use Jbuilder to format JSON responses in a Ruby on Rails ajax app, including helpers, attribute selection, and form submission for a complete workflow.
Learn how to implement ajax-based validation and creation of a new contact group in Ruby on Rails 5, updating the contact form with dynamically loaded group options.
Demonstrates implementing ajax to create a new contact group, including server communication, success response, and error handling with validation for name presence and uniqueness.
Use ajax to create a new contact group and automatically add it as the selected option in the contact form, update its group ID, clear input, and remove errors.
Install and configure Devise gem to manage user registration, login, logout, and password reset in a Rails app, generate user model, migrations, and routes, and customize views.
Customize the application layout by building a responsive navbar with a top-right dropdown, conditional login/register vs profile links, and Rails routes for sign-in, sign-out, and profile access.
Customize devise's forms style by tweaking the registration layout, centering the form, and styling inputs and the submit button as primary, while adding shared error messages and dry-principle refinements.
Learn how to fix the current user's name display by permitting the name attribute in sign-up using strong parameters, updating the user view to show the current user's name.
Create a Rails helper to mark the active menu item by inspecting the current request path, splitting segments, and returning an active class when the segment matches.
Override Devise's after sign in and after sign up paths in the application controller to redirect users to a page or last location, and protect dashboard and contacts pages server-side.
Customize Devise default routes by mapping sign in to log in and sign out to logout via a path hash, and use the Devise scope method to shorten routes.
Customize the Devise edit user form by enhancing inputs with bootstrap styles, validating current password, and updating user data, then tailor redirects and routes via a custom registrations controller.
With a focus on Rails and real world application, This course is an efficient way to learn Rails and AJAX and start building the applications you have been dreaming about.
This course contains practical and valuable information that you can use to build any Web applications. Together we will build "My contact", a full stack contact manager application which users can easily manage their contacts.
The course cover:
Rails Core concept
Basic CRUD
File Uploading
Authentication
Authorization
AJAX
SJR
And much more
Join me as I show you how to build full stack applications from start to finish with Rails and some of today's top technology.