Introduction
This gem will help you to handle has_many :through associations when you need to add/remove these ones with checkboxes. If you think about this type of situation you do the same steps for each association you have to handle with checkboxes. I exctracted this gem from a project where I had to handle about ten associations with checkboxes.
How to use it
The best way to describe throughcheckboxes is to show some code:
In your model:
class User < ActiveRecord::Base
has_many :groups,:through=>:user_groups
has_many :user_groups
# add your associations
checkboxes_for :groups
end
class Group < ActiveRecord::Base
attr_accessible :name
def to_s
name
end
end
class UserGroup < ActiveRecord::Base
belongs_to :user
belongs_to :group
end
In your view:
<%= form_for @user do |f| %>
<%= f.error_messages %>
<%= f.checkboxes_for :groups %>
</p>
<p><%= f.submit %></p>
<% end %>
and that’s all. Now, when you submit your form you get the has_many :through association updated.
Roadmap
- improve documentation
- write options for helper
- write more helpers
Copyright
This program is free software. It comes without any warranty, to the extent permitted by applicable law. You can redistribute it and/or modify it under the terms of the Do What The Fuck You Want To Public License, Version 2, as published by Sam Hocevar. See http://sam.zoy.org/wtfpl/COPYING for more details.