2010-12-28 4 views
0

Я использую рельсы 3 и will_paginate для просмотра фотографий. У меня есть работа, но мне также понравится, чтобы пользователи могли просматривать следующую запись, щелкнув изображение, а не следующую кнопку в навигации по страницам. Очень похоже на просмотр Facebooks изображения или что-то вроде следующего: http://exposure.blogocracy.org/demos/demo1.htmlКак вы можете перейти к следующему набору записей при нажатии изображения с помощью will_paginate

Я не знаю, если will_paginate имеет каких-либо параметров, чтобы это работало ... любая помощь или направление будет очень высоко

контроллер - изображение - действие: галерея

def gallery @images = Image.all.paginate(:per_page => 1, :page => params[:page]) end

просмотр изображений - галерея

<div id="slideshow"> <% @images.each do |image| %> <%= image_tag("gallery/"+image.path, :alt => "") %> <% end %> </div>

вид макета - _nav

<%= will_paginate @images, :previous_label => '&laquo; ', :next_label => '&raquo;', :params => { :controller => "images", :action => "gallery" }, :separator => ' ', :inner_window => 4, :outer_window => -1 %>

----------- EDIT --------------

В работе вокруг Я решил использовать javascript/jquery и связать его вручную. Это действительно действительно уродливо, но я использую его, пока не найду правильный способ сделать это.

` $ (документ) .ready (функция() { $ ('# ДИВ слайд-шоу IMG'). Жить ('нажмите', функция() { вар has_images = '<% = @has_image%> '; if (has_images == 1) { var page =' <% = @ next_image.id%> '; var url ='/images/gallery? Page = '+ страница window.location.replace (url); } еще { вар URL = '/ изображений/галерея страница = 1' window.location.replace (URL); }

}) }) `

ответ

0

Пример вы ссылаетесь плагин JQuery называется Exposure, почему вы не просто использовать это?

И я бы не рекомендовал Will_paginate для того, что вы хотите.

Oluf Nielsen

+0

Спасибо за ваш ответ Oluf! Я не уверен, что Exposure может обрабатывать разбиение на страницы с активной записью так же легко, как will_paginate. Однако я использовал какой-то действительно плохой код jquery в качестве работы, пока не выясню лучшее решение. –

Смежные вопросы