Summary
A web site where users can create and edit wikis.
Devise
We use Devise to sign up and authenticate users. This is very different from authorizing manually in the controller.
Flash
Flash messages are typically set in the controller using the flash
hash. They
are meant to show the user a response to their actions. We show these messages
in app/views/layouts/application.html.erb
.
Faker
Faker was very useful for writing the seed file and for unit tests. I had previously written a seed file so I could observe my previous work on the web site, but Faker allowed me standardize the code a bit better.
For the User class, Faker had obvious functions I could use for each of the fields. For the Wiki class, however, I had to use my own judgement. I wrote a FakeWiki module so my choices would be consistent throughout the app.
At first I named the FakeWiki file random_data.rb. After some error messages, I
found out that the file name needs to be the same as the module or class name
(but with lowercase and underscores). After I corrected the file name, it was
automatically require
‘d throughout the app.