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 > <ul> > <% @apps.each do |app| %> > <li> <%= check_box_tag app.id, current_user.access?(app) %><span> > <%= app.name %></span> > </li> > <% end %> > </ul> > <%= f.submit %> > <% 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 :)
on 2012-11-07 00:28
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.