How to get which check boxes has beed unchecked and remove Subscription for them?

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 %>

    <%= f.submit %>

    <% end %>

    So I can only add new Subscriptions(in this particular example i can only add Engineering).

    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 :slight_smile: