Główna » Archiwum

Wpisy oznaczone: ruby

Ruby & Rails »

[23 Apr 2008 | Brak komentarzy | ]

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 »

[21 Apr 2008 | Brak komentarzy | ]

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 »

[16 Apr 2008 | Brak komentarzy | ]

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 …