Howdy all. New to OO and Rails and trying to get a grip on both.
In particular at the moment I’m having trouble figuring out the
following relationship.
Say I have table/class Foo.
Users get to decide to create Foo (or update or delete Foo) based on a
user first proposing a change (class FooProposal), then users voting on
that change (class FooProposalBallot).
I was thinking something like …
class Foo < ActiveRecord::Base
has_many :foo_proposals # Foo can be changed any # of times
belongs_to :user # who proposed to create Foo in the first place
end
class FooProposal < ActiveRecord::Base
has_many :foo_proposal_ballots # each user can vote on a proposal once
belongs_to :user # who proposed the proposal
belongs_to :foo
^^^ this is where the majority of my confusion sets in
if the proposal is “modify” or “delete”, this relationship
is straight-forward; however if the proposal is “create” I’m not
sure
if I should create Foo and set some flag that indicates Foo hasn’t
been approved yet
end
class FooProposalBallot < ActiveRecord::Base
belongs_to :foo_proposal
belongs_to :user
end
Any thoughts?
Thanks