Поиск:

Ответ в темуСоздание новой темы Создание опроса
> paged_scope - альтернатива will_paginate, разобраться с paged_scope 
:(
    Опции темы
speedo
Дата 4.10.2010, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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
PM MAIL   Вверх
source777
Дата 4.10.2010, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 12
Всего: 56



Цитата(speedo @  4.10.2010,  16:36 Найти цитируемый пост)
Суть такая. Нашёл плагин paged_scopes, альтернативный will_paginate, последний меня не совсем устраивает в плане функциональности.
...
Что не так и почему не выводится по 3?

Ну, расширить функциональность will_paginate тебе кто-нибудь сможет помочь, а разбираться с устаревшей экзотикой типа paged_scopes тебе придётся скорее всего самому.


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
speedo
Дата 4.10.2010, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 14.9.2010

Репутация: нет
Всего: нет



ok, тогда как сделать, чтобы с помощью will_paginate можно было к примеру редактировать запись,  а при возвращении к списку, мы снова попадали бы на текущую позиции, а не в самое начало?
или ук примеру есть список фоток, на главной размещены пару из них. Кас сделать, чтобы при нажатии попасть именно в текущую позицию этой фотки, а не в самое начало списка, как обычно у will_paginate
есть что-то вроде current_page?
PM MAIL   Вверх
source777
Дата 4.10.2010, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 12
Всего: 56



Цитата(speedo @  4.10.2010,  17:25 Найти цитируемый пост)
как сделать, чтобы с помощью will_paginate можно было к примеру редактировать запись,  а при возвращении к списку, мы снова попадали бы на текущую позиции, а не в самое начало?

Так а в чём проблема то? params[:page] тебе из контролера доступен.

Цитата(speedo @  4.10.2010,  17:25 Найти цитируемый пост)
к примеру есть список фоток, на главной размещены пару из них. Кас сделать, чтобы при нажатии попасть именно в текущую позицию этой фотки, а не в самое начало списка, как обычно у will_paginate

Что значит текущую позицию фотки? Без контекста - это полнейший абсурд, список может быть упорядочен как угодно и одна и та же фотка может иметь совершенно разные позиции.

Цитата(speedo @  4.10.2010,  17:25 Найти цитируемый пост)
есть что-то вроде current_page? 

Не что-то вроде, а прям так и называется.

P.S. Для вопросов по will_paginate создай новую тему, т.к. название темы должно отражать ее суть!
Ну и конечно, не помешает документацию почитать, прежде чем вопросы задавать.


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby on Rails"
source777
  • С чего начать? начинаем
  • Документацию смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby On Rails | Следующая тема »


 




[ Время генерации скрипта: 0.0413 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.