It really depends on the situation. I wouldn't necessarily jump to converting the signature over to an image and store it separately (more so than it already is). If you will be displaying the signature often, you could look into Fragment Caching as a possible solution for the areas where you're displaying the image. Converting and storing the signature as an image seems like unnecessary overhead as well as an added complication.
However, if this is the route you need, you could create an attr_accessor for the signature and convert it to an image and upload it like you're describing.
You should be able to initialize the calendar with these kind of options to do this. In the header, you would only pass agendaDay and then set the default view to basicDay.
header: {
left: 'prev,next today',
center: 'title',
right: 'agendaDay'
},
defaultView: 'basicDay',
You can do something like this with model validations to not allow overlapping times. On the callback within the FullCalendar, you would handle the necessary alerts there.
That's strange that a lot of people have such complaints about Chosen. I've been using it for quite some time and never experienced any of the problems that they were describing. I had used Select2 in the past and have nothing against it. Both JS Packages just seem to work. :)
However, I do agree that this episode could have just as easily been swapped with Select2 with minor changes.