Currently form_for in merb_helpers does not work with objects that are no ActiveRecord? models. It fails when trying to address the method new_record? and errors. While a class can implement these to get this functionality it is rather heavy to do so if functionality like the error reporting is not needed. The attached patch checks to see if the object responds to the new_record? and errors methods before calling them. In the case of new_record? this is used to determine whether or not to do a post or put. I have made the default post with the assumption that if the distinction between a create/update is warranted the model object can implement new_record? to provide this information (please correct if this is not reasonable).
If for some reason this patch is not desirable it would be helpful to at least keep the checks for 'errors' and mandate that new_record? be implemented. This is a reasonable approach whereas 'errors' is too AR specific IMO.