Piotr, have a look at
http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html

There are a ton of things that are auto-created by associations - one is a
setter method that reflects the id's of the association.
#collection_check_boxes basically formats your input to match that setter.
In this case it would be "category_ids".

On Wed, Apr 20, 2016 at 1:54 PM, Frederick Cheung <
[email protected]> wrote:

> On Wednesday, April 20, 2016 at 2:26:20 PM UTC+1, Piotr Brych wrote:
> > OK, thanks for that, it might help.
> >
> >
> > But how would you in this case send params back to `create` or `update`
> to respectively know which associations (category_organisations) should be
> created and which deleted?
>
> Assigning to category_ids will create/delete rows in the join table as
> appropriate.
>
> Fred.
> >
> > Thanks,
> > Piotr
> >
> >
> >
> > W dniu wtorek, 19 kwietnia 2016 17:19:21 UTC+2 użytkownik Frederick
> Cheung napisał:
> >
> >
> >
> >
> > As long as you don't want the same form to be usable to create new
> categories, I wouldn't use nested attributes at all.
> >
> >
> > f.collection_check_boxes :category_ids, Category.all, :id, :name
> >
> >
> > will render a checkbox and label for each category, and the check box
> will be ticked if category_ids contains the element (there are plenty of
> options to customise the generated markup). I'm not entirely sure what
> happens if you assign to foo_ids but the overall save fails and rolls back.
> If you run into issues there  I'd add a virtual attribute to hold the
> assigned ids and actually set category_ids  from a before_save or similar.
> >
> >
> > Fred
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/rubyonrails-talk/8b2c9630-8070-4ae8-8bf5-8749f77cb992%40googlegroups.com
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/CA%2BCQ937JkEcLnrBPDkAgNs2-F%3DZCyNfP5aiSYXxZ1qc4ZjzYSw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to