Rails Girls Touristic Autism-friendly Spots App Tutorial

Created by Myriam Leggieri, @iammyr for Rails Girls Galway

This guide merges, adapts and extends some of the basic RailsGirls guides for the scenario: description, displaying and commenting touristic places and rate them with respect to their autism-friendliness. This application was requested by the Galway Autism Partnership to support autistic adults during their travelings.

The extension comprises of the following new features:

The basic guides that have been merged and adapted are the Ruby on Rails Tutorial, the basic RailsGirls app and the tutorials for creating thumbnails, authenticating users, adding design, deploying to OpenShift and adding comments.

0. Installation

Make sure you have Rails and Git installed. Follow the installation guide, the Installing Git section of Pro Git to get set up. Then configure GitHub by typing the following in your terminal:

git config --global user.name "Your Name"
git config --global user.email your.email@example.com

one-time setup steps for GitHub.

Sign up for a free GitHub account if you don’t have one already.

1. Basic Web Application

2. Version control with Git

3. Resource Modeling

4. Resource Rating

5. Design

6. Image upload and Thumbnails

Optional - for advanced Rails Girls:

7. Continuous Deployment

8. Continuous Testing and Integration

Additional Guides

Appendices

Undoing things

Rails has some facilities to help you recover from mistakes.

For instance, you may decide to change the name of a controller. Since, when generating a controller, Rails creates many more files than the controller file itself, undoing the generation means removing a whole set of files. In Rails, this can be accomplished with rails destroy. In particular, these two commands cancel each other out:

rails generate controller FooBars baz quux
rails destroy  controller FooBars baz quux

Similarly, after we generate a model as follows:

rails generate model Foo bar:string baz:integer

This can be undone using

rails destroy model Foo

Migrations change the state of the database using

rails db:migrate

We can undo a single migration step using

rake db:rollback

To go all the way back to the beginning, we can use

rails db:migrate VERSION=0

As you might guess, substituting any other number for 0 migrates to that version number, where the version numbers come from listing the migrations sequentially.

To drop a table from the db enter

rails console

Then just type:

ActiveRecord::Migration.drop_table(:<table-name>)

You can browse directly the database (if sqlite3 type “.quit” to exit afterwards) by typing

rails db

Want to learn more? View more guides!