aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-04-02 09:11:17 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-04-02 09:11:17 +0000
commit3532455404ec8449eee1054e38d1e0db40c63e15 (patch)
tree9db81fad7bd114b723f1cc5d782b412dda15752b /actionpack/lib/action_controller
parent5b36c9275d979c40c7e20e9cc0415d4e8dbfd457 (diff)
downloadrails-3532455404ec8449eee1054e38d1e0db40c63e15.tar.gz
rails-3532455404ec8449eee1054e38d1e0db40c63e15.tar.bz2
rails-3532455404ec8449eee1054e38d1e0db40c63e15.zip
Added pagination for scaffolding (10 items per page) #964 [mortonda@dgrmm.net]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1067 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r--actionpack/lib/action_controller/pagination.rb2
-rw-r--r--actionpack/lib/action_controller/scaffolding.rb2
-rw-r--r--actionpack/lib/action_controller/templates/scaffolds/list.rhtml3
3 files changed, 5 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/pagination.rb b/actionpack/lib/action_controller/pagination.rb
index b9fa01df9f..fd890c53e0 100644
--- a/actionpack/lib/action_controller/pagination.rb
+++ b/actionpack/lib/action_controller/pagination.rb
@@ -166,7 +166,7 @@ module ActionController
:find_collection_for_pagination
def paginator_and_collection_for(collection_id, options) #:nodoc:
- klass = eval options[:class_name]
+ klass = options[:class_name].constantize
page = @params[options[:parameter]]
count = count_collection_for_pagination(klass, options[:conditions])
diff --git a/actionpack/lib/action_controller/scaffolding.rb b/actionpack/lib/action_controller/scaffolding.rb
index bf2e35f3f7..4faa23cdf3 100644
--- a/actionpack/lib/action_controller/scaffolding.rb
+++ b/actionpack/lib/action_controller/scaffolding.rb
@@ -99,7 +99,7 @@ module ActionController
module_eval <<-"end_eval", __FILE__, __LINE__
def list#{suffix}
- @#{plural_name} = #{class_name}.find_all
+ @#{singular_name}_pages, @#{plural_name} = paginate :#{singular_name}, :per_page => 10
render#{suffix}_scaffold "list#{suffix}"
end
diff --git a/actionpack/lib/action_controller/templates/scaffolds/list.rhtml b/actionpack/lib/action_controller/templates/scaffolds/list.rhtml
index 33af7079b2..df1b7f8e4c 100644
--- a/actionpack/lib/action_controller/templates/scaffolds/list.rhtml
+++ b/actionpack/lib/action_controller/templates/scaffolds/list.rhtml
@@ -19,6 +19,9 @@
<% end %>
</table>
+<%= link_to "Previous page", { :page => instance_variable_get("@#{@scaffold_singular_name}_pages").current.previous } if instance_variable_get("@#{@scaffold_singular_name}_pages").current.previous %>
+<%= link_to "Next page", { :page => instance_variable_get("@#{@scaffold_singular_name}_pages").current.next } if instance_variable_get("@#{@scaffold_singular_name}_pages").current.next %>
+
<br />
<%= link_to "New #{@scaffold_singular_name}", :action => "new#{@scaffold_suffix}" %>