I want to be able to create a record in the DB but then prevent Rails from making changes from that point on. I understand changes will still be possible at the DB level.
I've found a more concise solution, which uses the after_initialize callback:
after_initialize
class Post < ActiveRecord::Base after_initialize :readonly! end