I've been struggling for quite a while to get this feature working:
I want my user to be able to select categories when uploading a photograph, but additionally be able to specify a comma-separated list of categories to create/find and associate with the photograph. I've had this working by using an attr_accessor :new_categories on the photographs model, but having that there without the column existing breaks both Paperclip and Exifr. Obviously, image upload and EXIF data retrieval are pretty important for a photography website, but not being able to add categories while uploading a photograph is a pain in the arse.
Methods I've tried so far:
- Using attr_accessor to add a field for new_categories. Breaks gems.
- Using an Ajax sub-form to add categories. Formtastic can't handle it.
- Adding a column for new_categories to the photograph model. It works, but it's horrific.
I haven't tried using a nested form, but I'd need to intercept it and stop it from processing it as normal.
Here's an example of what I'm trying to accomplish: http://imgur.com/rD0PC.png
And the function I use to associate the categories:
def process_new_categories
unless self.new_categories.nil?
for title in self.new_categories.split(",")
self.categories << Category.find_or_create_by_title(title.strip.capitalize)
end
end
end
Has anyone got any ideas as to how to do this?