Rails 3.2 Application - Should I use the version gem (paper_trail or vestal_versions) or process it manually?

My question is: should I run my own version modeling or use one of the versions that already exist? If I have to use a gem, which one is best for this application?

Information about my application

My application is a simple Checklist application. There are checklists and assignments, and I track user responses with answers and materials. The answer tells me what is said in the above (“Done” with the note “We need more mops”), and in the submission I am informed when this particular checklist has been filled (because there can be many submissions and answer sets for this checklist) . I will show my associations below in case this helps.

#checklist.rb
class Checklist < ActiveRecord::Base
  has_many :jobs, :through => :checklists_jobs
  has_many :submissions
end

#job.rb
class Job < ActiveRecord::Base
  has_many :checklists, :through => :checklists_jobs
  has_many :responses
end

#response.rb
class Response < ActiveRecord::Base
  belongs_to :job
  belongs_to :submission
  belongs_to :user
end

#submission.rb
class Submission < ActiveRecord::Base
  belongs_to :user
  belongs_to :checklist
  has_many :responses
end

What am I trying to do with the version

, . , ( ), . , , :

" , ?"

, .

, - ( ). , ( ) , , . .

?

, ( , , ) . paper_trail vestal_versions. , , gem Railscast (, , ). Railscast 255 Undo with paper_trail Railscast 177 Model Versioning - 177 vestal_versions.

:

  • , . . , , .
  • (" "). .

:

  • , has_many: . , . ( ).
  • , . , .
  • , , , .

, , , . , .

+5
2

, , "". , , :

  • .
  • / ..
  • - , ( ).

, , , . .

-3

PaperTrail . . PaperTrail - , , Rails Ruby .

, PaperTrail - , . , , . , , PaperTrail.

+44

All Articles