Rails Girls Touristic Autism-friendly Spots App Tutorial
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:
- TDD using Guide
- Resource Rating
- Authenticated User (via devise) permission setting
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.
one-time setup steps for GitHub.
Sign up for a free GitHub account if you don’t have one already.
Optional - for advanced Rails Girls:
- Guide 0: Handy cheatsheet for Ruby, Rails, console etc.
- Guide 1: Put your app online with Heroku by Terence Lee / Put your app online with OpenShift by Katie Miller / Put your app online with anynines / Put your app online with Trucker.io
- Guide 2: Adding profile pictures with Gravatar
- Guide 3: Go through additional explanations for the App by Lucy Bain
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:
You can browse directly the database (if sqlite3 type “.quit” to exit afterwards) by typing
$ rails db