OSDN Git Service

Add an ordering scope to Wiki
authorRiyad Preukschas <riyad@informatik.uni-bremen.de>
Fri, 11 Jan 2013 19:04:14 +0000 (20:04 +0100)
committerRiyad Preukschas <riyad@informatik.uni-bremen.de>
Fri, 11 Jan 2013 19:04:14 +0000 (20:04 +0100)
app/controllers/wikis_controller.rb
app/models/wiki.rb

index a93afe1..1ca7e4a 100644 (file)
@@ -2,16 +2,16 @@ class WikisController < ProjectResourceController
   before_filter :authorize_read_wiki!
   before_filter :authorize_write_wiki!, only: [:edit, :create, :history]
   before_filter :authorize_admin_wiki!, only: :destroy
-  
+
   def pages
-    @wikis = @project.wikis.group(:slug).order("created_at")
+    @wiki_pages = @project.wikis.group(:slug).ordered
   end
 
   def show
-    if params[:old_page_id]
-      @wiki = @project.wikis.find(params[:old_page_id])
+    if params[:version_id]
+      @wiki = @project.wikis.find(params[:version_id])
     else
-      @wiki = @project.wikis.where(slug: params[:id]).order("created_at").last
+      @wiki = @project.wikis.where(slug: params[:id]).ordered.first
     end
 
     @note = @project.notes.new(noteable: @wiki)
@@ -29,7 +29,7 @@ class WikisController < ProjectResourceController
   end
 
   def edit
-    @wiki = @project.wikis.where(slug: params[:id]).order("created_at").last
+    @wiki = @project.wikis.where(slug: params[:id]).ordered.first
     @wiki = Wiki.regenerate_from @wiki
   end
 
@@ -47,9 +47,9 @@ class WikisController < ProjectResourceController
   end
 
   def history
-    @wikis = @project.wikis.where(slug: params[:id]).order("created_at")
+    @wiki_pages = @project.wikis.where(slug: params[:id]).ordered
   end
-  
+
   def destroy
     @wikis = @project.wikis.where(slug: params[:id]).delete_all
 
index 4f11395..7f488ca 100644 (file)
@@ -25,6 +25,8 @@ class Wiki < ActiveRecord::Base
 
   before_update :set_slug
 
+  scope :ordered, order("created_at DESC")
+
   def to_param
     slug
   end