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: <div class="os-specific"> <div class="nix">

$ git config --global user.name "Your Name"
$ git config --global user.email your.email@example.com
<div>

one-time setup steps for GitHub.

</div> Sign up for a [free GitHub account](https://github.com/signup/free) 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

$ rake 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

$ rake 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(:)

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

$ rails db