For many of my applications that I'm working on you can't really delete records...they can be made inactive, but they need to be maintained as their related records can't be deleted for various reasons.
I like the idea of 'co-opting' the destroy method (you have to do it in the model) to switch the archive toggle instead of deleting the record...that way I can keep the restful routes.
Is this the 'rails way' or am I violating one of the principles?
That’s absolutely fine. There are a bunch of gems which already do that, e.g. permanent_records. Their implementation of `ActiveRecord::Base#delete` might be interesting to you: https://github.com/JackDanger/permanent_records/blob/6f95cd6464b044a423c588425b700f6d93b11fd6/lib/permanent_records.rb#L49-L57