Wpisy oznaczone: ruby
Ruby & Rails »
Używasz will_paginate do prezentacji stronnicowanych danych – chcesz by tekst był wyświetlany po polsku? Dla menu stron to banalne, poprostu w katalogu aplikacji w podkatalogu conf/initializers dodaj plik pagination.rb, a w nim:
[ruby]require ‘will_paginate’
WillPaginate::ViewHelpers.pagination_options[:prev_label] = ‘? poprzednia’
WillPaginate::ViewHelpers.pagination_options[:next_label] = ‘następna ?’[/ruby]
Jednak co jeżeli wyświetlasz informacje o rekordach? Tej opcji nie ma w ustawieniach pluginu. W ApplicationHelper (application_helper.rb w katalogu app/helpers) zdefiniuj taką funkcję:
[ruby]def page_entries_info(collection)
%{Wyświetlono rekordy %d - %d z %d znalezionych} % [
collection.offset + 1,
collection.offset + collection.length,
collection.total_entries
]
end[/ruby]
Udanej polonizacji …!
Ruby & Rails »
W ostatnim projekcie użyłem wtyczki act_ac_commentable. Ale nie wszystko szło gładko. W widoku komentarza odwołanie do obiektu użytkownika przy pierwszym załadowaniu komentarza działało – ale gdy strona została przeładowana występował błąd undefined method (+ nazwa metody, która, była zdefiniowana dla klasy User). Szperanie po Googlach zajęło troszkę czasu … więc spieszę wyjaśnić problem. Otóż wtyczka ta definiuje model comment – co istotne, definiuje go w katalogu lib wtyczki – co sprawia, że Ruby (i Railsy), mimo iż comment należy do obiektu typu User i definiuje belongs_to, nie przeładowywują …
Ruby & Rails »
Chcesz użyć wyświetlić elementy zawierające konkretny tag (acts_as_taggable) używając will_paginate, przerobiłem kilka rozwiązań, ten się sprawdza:
def show_tagged
options = Plan.find_options_for_find_tagged_with(params[:tag], :conditions =>
["start_time >= ?", Time.now]).merge :page => params[:page],
rder => ‘start_time DESC’
@plans = Plan.paginate(options)
end
Plan to klasa rozszerzona …

