Hey all,
Following this Railscast (#17 HABTM Checkboxes - RailsCasts
checkboxes) I have a set up a form with checkboxes that work great for
updating records in a hatbm relationship.
But it only works if I’m doing an update to an existing record. When I
try to create, I get a validation error.
In my app I have Sessions which can have many Learners. In the Session
edit/create form there’s a list of all the Learners with check boxes
for selecting them.
I can edit a Session and check/uncheck Learners and the changes are
saved. When I create a new session, I get a “Learners is invalid”
validation error.
This is probably happening because the Learner ids can’t be saved into
the Learners_Sessions table without a session id, and the the session
id isn’t created until save. So when I do this:
def create
@session = @user.project.sessions.new(params[:session])
if @session.save
…
it throws out the validation error.
Any ideas on how I can work around this? I could create a bare-bones
Session object, save it and then update it with the full params, but
that seems inelegant. I figure there has to be a better solution, I
just don’t know what it is.
Thanks,
Ian