Я пытаюсь создать алфавитную нумерацию для рельсов. Я нашел несколько плагинов и гемов, но они приводят к ошибкам, поэтому я пытаюсь создать пользовательскую нумерацию страниц, которая работает не совсем правильно ... ПОЧЕМУ это?
модель (userrrrrr.rb)
def self.find_by_group
('A' .. 'Z'). Map do | буква |
@users = User.find_by_sql (: все,: условия => ['LOWER (name) LIKE?', "# {letter.downcase}%"] ,: order => 'name ASC')
конец
@users
конец
Помощник пользователя
def Alphabetically_Paginate (коллекция)
available_letters = User.find_by_group
content_tag (: ul, safe (alphabetical_links_to (available_letters)),
: class => "нумерация страниц")
конец
def safe(content)
if content.respond_to?(:html_safe)
return content.html_safe
end
content
end
def alphabetical_links_to(available_letters)
available_letters = ('A'..'Z').to_a
('A'..'Z').map do |letter|
content_tag(:li, paginated_letter(available_letters, letter))
end.join(" ")
end
def paginated_letter(available_letters, letter)
if available_letters.include?(letter)
link_to(letter, "#{request.path}?letter=#{letter}")
else
letter
end
end
end
вид
-('A'..'Z').each do |char|
-if char == user.name[0]
= link_to :action => 'char'
=alphabetically_paginate(@users)
просмотры неполные, так как я не уверен, как действовать в данный момент ... Я думаю об обновлении страницы и отображении списка только с буквами A или B и т. Д., Как со страницей поиска