# Phoenix MTM Helpers
A small collection of functions to make it easier working with `many_to_many` Ecto
associations and checkboxes to create them.
If you are familiar with Ruby on Rails, analogous to `collection_check_boxes`.
## Installation
Add phoenix_mtm to your list of dependencies in `mix.exs`:
      def deps do
        [{:phoenix_mtm, "~> 0.1.0"}]
      end
## Usage
1. Ensure your schema is setup with a `many_to_many` association. You will likely
   need to ensure the `on_delete` and `on_replace` keys are present. See the example
   in the docs for `Phoenix.MTM.Changeset.cast_collection`.
2. Inside your changeset function, pipe your changeset through `Phoenix.MTM.Changeset.cast_collection`,
   providing the association name, repo module, ans association module.
3. Inside your template, call `Phoenix.MTM.Helpers.collection_checkboxes` where
   you want the output of checkboxes to occur. This function accepts a form,
   the association name, a keyword list of values, and a list of pre-selected values.
   You can pass along attributes directly to the generated inputs and labels by
   passing a keyword list inside both `label_opts` and `input_opts` keys.
## TODO
- It would be nice to not have to get! each relationship we want to associate.