Sj
2012-Feb-13 04:08 UTC
Implementing a history feature for a basic wiki app maybe papertrails ?
I have been trying a lot for the last two days to implement a history feature for my basic wiki rails app. I am using papertrails for that. But according to my below code, whenever i click undo. it reverts back to the first edit instead of the last edit. does that means its not storing the last edit ? Any help please ? pages_helper module PagesHelper def undo_link link_to("undo", revert_version_path(@page.versions.last.reify ), :method => :post) end end pages_controller def revert @version = Version.find(params[:id]) if @version.reify @version.reify.save! else @version.item.destroy end link_name = params[:redo] == "true" ? "undo" : "redo" link = view_context.link_to(link_name, revert_version_path(@version.next, :redo => !params[:redo]), :method => :post) redirect_to :back, :notice => "Undid #{@version.event}. #{link}" end pages show.html.erb <tbody> <% @page.versions.reverse.each do | version| %> <tr class="odd"> <td><input type="checkbox" /></td> <td><%= %></td> <td><%= version.created_at%></td> <td><%= undo_link %></td> <td><%version.update_attributes :summary => ''version'' %></td> </tr> </div> <% end %> routes match "wikis/:wiki_id/pages/:id/revert" => ''pages#revert'', :as => "revert_version" Also, the route generated with this breaks when a new page is created under a wiki. if there is some other tool. then i would like to know that which would make this task easy :) -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.