![]() |
|
|
![]()
|
|
| Лена |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: нет Всего: 11 |
Научите, как установить will_paginate. Беру инструкцию отсюда: http://wiki.github.com/mislav/will_paginate/installation Пишу:
gem install will_paginate ERROR: could not find will_paginate locally or in a repository Наверное, надо как-то указать ссылку на wiki.github.com Какая разница устанавливать will_paginate как gem или как плагин? |
|||
|
||||
| source777 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 12 Всего: 56 |
Gem'ы могут быть совместно использованы разными приложениями на хостинге, их удобнее подключать, управлять их версиями и нет необходимости возиться с git submodules как в случае с плагинами.
Покажи вывод gem -v должно быть 1.3.5 Если у тебя более старая версия 1.3.x, выполни gem update --system Если у тебя более старая версия 1.2.x, выполни:
После того как обновишь RubyGems до 1.3.5 выполни gem tumble -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
||||
|
|||||
| Лена |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: нет Всего: 11 |
>gem -v 1.1.1 >gem install rubygems-update Bulk updating Gem source index for: http://gems.rubyforge.org/ Bulk updating Gem source index for: http://gems.rubyforge.org/ ERROR: Error installing rubygems-update: rubygems-update requires builder (>= 0) > |
|||
|
||||
| source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 12 Всего: 56 |
Это уже более тяжелый случай, надо переустанавливать RubyGems вручную, ну или воспользоваться чем-нибудь вроде Bitnami RubyStack. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
| Лена |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: нет Всего: 11 |
Импортировала свой проект из 3dRails 1.2 в 3dRails 2.0. Протокол в этой среде у меня получился такой:
>gem -v 1.2.0 >gem install rubygems-update Successfully installed rubygems-update-1.3.5 1 gem installed Installing ri documentation for rubygems-update-1.3.5... Installing RDoc documentation for rubygems-update-1.3.5... Could not find main page README Could not find main page README Could not find main page README Could not find main page README >update_rubygems Unknown command: 'update_rubygems' >gem install will_paginate Successfully installed will_paginate-2.3.11 1 gem installed Installing ri documentation for will_paginate-2.3.11... Installing RDoc documentation for will_paginate-2.3.11... > Судя по всему will_paginate установился. |
|||
|
||||
| shine |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 20.10.2006 Репутация: 2 Всего: 5 |
Цитата официальной инструкции по will_paginate:
To enable the library your Rails 2.0.x or 1.2.x project, require it in “config/environment.rb”
Это было сделано? --------------------
An investment in knowledge always pays the best interest. © Benjamin Franklin |
|||
|
||||
| Лена |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: нет Всего: 11 |
Нет глубокого понимая как адаптировать эту штуку под мой код...
Вроде все сделала, но естественно у меня не работает. class Product < ActiveRecord::Base has_many :line_items cattr_reader :per_page @@per_page = 10 def self.find_products_for_sale find(:all, :order => "title") end И т.д. def index @board = Product.find_products_for_sale @posts, @page = Product.paginate_all_by_ board _id(@board.id, :page => params[:page]) end Добавила: require "will_paginate" А в представлении добавила: <%= will_paginate @posts %> Ошибка: undefined method `paginate_all_by_ board _id' for Product:Class Я не понимаю как правльно строиться эта строка: Product.paginate_all_by_ board _id Думала так: Product.paginate_all_by_ product _id то же самое... |
|||
|
||||
| source777 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 12 Всего: 56 |
А у тебя есть такая странная необходимость? В 99.9% случаев достаточно просто использовать gem согласно документации, а не адаптировать его под что-то...
Лен, скажи честно, ты по-английски хорошо понимаешь? Почему ты берёшь кусок из документации в котором описывается как можно передавать paginate параметры аналогично find и конструировать аналогичные мета-методы, когда тебе достаточно самого простого варианта использования:
? -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
||||
|
|||||
| Лена |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: нет Всего: 11 |
||||
|
||||
| source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 12 Всего: 56 |
А у тебя точно есть более 10 продуктов? Добавлено через 58 секунд С какой стати @posts, вместо @products? -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
| Лена |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: нет Всего: 11 |
Все, вроде заработало.
@products = Product.paginate :page => params[:page], :order => 'title', :per_page => 10 <%= will_paginate @products %> И на русском: в environment.rb в самый низ пишем WillPaginate::ViewHelpers.pagination_options[:prev_label] = '<< Предыдущая' WillPaginate::ViewHelpers.pagination_options[:next_label] = 'Следующая >>' Это рекомендуют писать в initializers/will_paginate.rb но я такого файла в своем дереве не обнаружила... |
|||
|
||||
| Лена |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: нет Всего: 11 |
Как можно улучшить код? Если перейти по ссылке внизу пагинатора, то ссылка будет http://localhost:3000/store?page=2
Если пользователь в строке адреса напишет так: http://localhost:3000/store?page=vv то будет ошибка. Как ее перехватить? Это сообщение отредактировал(а) Лена - 21.12.2009, 20:56 |
|||
|
||||
| source777 |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 12 Всего: 56 |
Ну так создай. Ты ведь читала про initializers? Инициализатором может быть любой rb-файл в этой папке. Это сообщение отредактировал(а) source777 - 21.12.2009, 21:55 -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
||||||
|
|||||||
| Лена |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: нет Всего: 11 |
Большое спасибо! Очень красивое решение!
|
|||
|
||||
| AndreyDr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 22.9.2010 Репутация: нет Всего: нет |
Здравствуйте, я установил и настроил will_paginate, но хочется чтобы url был вида /page/1, вместо /articles?page=1. Если кто уже решал такой вопрос, подскажите пожалуйста или дайте ссылку на туториал. Заранее спасибо
Модератор: Пожалуйста, один топик - один вопрос, один топик - один топикстартер. Создай новую тему для своего вопроса. Это сообщение отредактировал(а) source777 - 22.1.2011, 14:34 |
|||
|
||||
![]()
|
| Правила форума "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. |