After some further research I found it was easier to only use a single model (here "offers") and use the state_machine gem for assistance. This is ideal if your product goes through several stages e.g. accepted, posted, etc etc.
The documentation explains how to implement this in the model e.g.
state_machine :initial => :new do
event :accept do
transition :from => :new, :to => :accepted, :unless => :expired?
end