I have following subscription creating system, right now when I`m
selection
available subscription groups(Marketing, Sales) action Save Subscription
create this two subscriptions:
@subscriptions = current_user.subscriptions
@apps = App.all
if request.post?
if params[:subscription] and params[:subscription][:app_id]
params[:subscription][:app_id].each do |app_id|
Subscription.create_unique({user_id: current_user.id, app_id:
app_id})
end
redirect_to root_path
end
end
app_menu.html.erb
<%= form_for :subscription do |f| %> # this form goes to app_menu action
above
-
>
<% @apps.each do |app| %>
>
- <%= check_box_tag app.id, current_user.access?(app) %> > <%= app.name %> > > <% end %> >
So I can only add new Subscriptions(in this particular example i can
only
add Engineering).
http://i.stack.imgur.com/5VoyD.png
How to refactor that action to be able also destroy subscription groups
by
uncheck them(ex. I want to unsubscribe from Marketing group) ?
So when I choose Marketing and Enginnering then
params[:subscription][:app_id] will be equal [marketing.id,
engineering.id]
Relations:
App
has_many :subscriptions
has_many :users, through: :subscriptions
User
belongs_to :app
has_many :subscriptions, :dependent => :destroy
Subscription
belongs_to :user
belongs_to :app
So the issue is how to find which apps has been unchecked? And maybe is
a
way how to refactor that action. Pleas help