accepts_nested_attributes for is a poor solution to the nested objects in forms problem so replacing that functionality, along with the nested_form gem, is a must.
* Add app/forms directory and autoload it
* Remove nested_form
* Replace all instances of nested_form_for with form_for
* Tighten up the permissions for strong params being used
* Remove accepts_nested_attributes_for in the topic model
* Add NewTopic and PrivateTopic form objects
* Remove nested attributes from setup controller
* Delete form partial that's only used once.
* Standardize form object naming as `form` and not `f`
* Remove `multipart: true` html options for the forms
* Remove unnecessary `.topic_form` class on form tags
* Chill with the nested partials
Rename NewTopic -> TopicForm
* Some fixes to the formatting in this file while I'm in here (thx
* A spec down below was setting the cofniguration on the Thredded
singleton and wasn't cleaning up after itself. Therefore, depending on
the order of the tests being run, it would bleed over into subsequent
tests and cause failure. This commit resets `Thredded.user_path` after
it is changed
`category_options` was being called on a Topic object, and the method
doesn't exist. But decorating the topic, and adding the method to the
decorator fixes it.
Also add correct, and uniform, css classes to the div wrapping around
the topic edit form.