![]() |
|
|
![]()
|
|
| speedo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 14.9.2010 Репутация: нет Всего: нет |
Привет всем!
Суть такая. Нашёл плагин paged_scopes, альтернативный will_paginate, последний меня не совсем устраивает в плане функциональности. Полное описание (3 части) возможностей на http://code.matthewhollingworth.net/articl...ate-alternative http://code.matthewhollingworth.net/articl...troller-methods http://code.matthewhollingworth.net/articl...ting-your-views Не могу разобраться как работает параметр per_page сделал как там описано. Мой текущий код (my scaffold name "post"): in environment.rb: config.gem "paged_scopes" in routes.rb: map.resources :posts, :paged => true map.root :controller => "posts" in post_controller: before_filter :get_posts paginate :posts, :per_page => 3, :path => :page_posts_path ... protected def get_posts @posts = Post.scoped(:order => "created_at") end in post_helper.rb: MARKER = {:previous => "< newer", :next => "older >"} def post_page_links @page.paginator.window(:inner => 2, :outer => 1, :extras => [:previous, :next]) do |page, path, classes| content_tag :li, :class => (classes << :page).join(" ") do content_tag :li, link_to_if(path, MARKER[page] || page.number, path) end end end finally in posts/index.html.erb: <h1>Listing posts</h1> <ul> <%= post_page_links %> </ul> <table> <tr> <th>Title</th> <th>Description</th> </tr> <% @posts.each do |post| %> <tr> <td><%=h post.title %></td> <td><%=h post.description %></td> </tr> <% end %> </table> Когда перехожу по 127.0.0.1:3000/posts/ вижу следующее Listing posts < newer 1 2 3 4 older > Title Description post 1 describe post 1 post 2 ewrgte rtsh srthg rsyh h post 3 erthbryh yrjh yr post 4 wert gethrgyh tayr post 5 erft de rysh sryh post 6 reth rsyh jtyshytae4wr ..... (and so on) New post Все мои посты выводятся как и выводились бы раньше @posts=Post.find(:all), а надо чтобы по 3, как прописано в :per_page=> 3 Что не так и почему не выводится по 3? спасибо -- icq: 462734370 skype: speedo-spin Это сообщение отредактировал(а) speedo - 4.10.2010, 16:37 |
|||
|
||||
| source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 12 Всего: 56 |
Ну, расширить функциональность will_paginate тебе кто-нибудь сможет помочь, а разбираться с устаревшей экзотикой типа paged_scopes тебе придётся скорее всего самому. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
| speedo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 14.9.2010 Репутация: нет Всего: нет |
ok, тогда как сделать, чтобы с помощью will_paginate можно было к примеру редактировать запись, а при возвращении к списку, мы снова попадали бы на текущую позиции, а не в самое начало?
или ук примеру есть список фоток, на главной размещены пару из них. Кас сделать, чтобы при нажатии попасть именно в текущую позицию этой фотки, а не в самое начало списка, как обычно у will_paginate есть что-то вроде current_page? |
|||
|
||||
| source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 12 Всего: 56 |
Так а в чём проблема то? params[:page] тебе из контролера доступен. Что значит текущую позицию фотки? Без контекста - это полнейший абсурд, список может быть упорядочен как угодно и одна и та же фотка может иметь совершенно разные позиции. Не что-то вроде, а прям так и называется. P.S. Для вопросов по will_paginate создай новую тему, т.к. название темы должно отражать ее суть! Ну и конечно, не помешает документацию почитать, прежде чем вопросы задавать. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
![]()
|
| Правила форума "Ruby on Rails" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Ruby On Rails | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |