Hej,
Mam poniższy partial do wyswietlania postow (railscasts -> blog w 15 min)
[code]<% div_for post do %>
<%= link_to_unless_current h(post.tytul), post %>
<%= h(post.tresc) %>...
<% end %>[/code]
Chciałbym aby w widoku [b]index[/b] tresc postu wyswietlala sie w czesci, np 700 pierwszych znakow: post.tresc[0,700], w [b]show[/b] miałby się wyświetlać cały post.
Mógłbym ten partial poprostu rozbić na 2 widoki, ale nie byloby to zgodne z DRY oraz podejrzewam, że da się jedna linijka to poprawic.
podpowiedzcie prosze
czy da sie przekazac przez render :partial to w jakis sposob
Po pierwsze: ten kod wygląda lekko archaicznie - nie pamiętam tego railscasta, ale domyślam się, że jest baardzo stary
Po drugie: jaką masz wersję railsów? Jeśli 3.x, nie musisz się bawić w escapowanie danych - jest to robione automatycznie.
Po trzecie: lepiej jest przechowywać w osobnych polach wstęp i rozwinięcie.
Można użyć dodatkowych partiali i przekazywać info co renderowac przez @zmienną lub :locals
Więcej do poczytania tutaj http://apidock.com/rails/ActionView/Partials
Sekcja “Rendering partials with layouts” wydaje się być warta uwagi.
to ja może rozwinę, dlaczego moim zdaniem kwestia obcinania jest zła.
Po pierwsze - dużo łatwiej wygląda konstrukcja typu @article.summary zamiast @article.body[0,700] (choć fakt - nic nie stoi na przeszkodzie, żeby dopisać taką metodę)
Po drugie- gdy obcinasz po 700 znakach, masz duże prawdopodobieństwo, że obetniesz jakieś słowo - a to nie wygląda ładnie
Po trzecie - masz całkiem duże prawdopodobieństwo tego, że będziesz miał niepoprawny html. Jeśli w artykule coś sobie potraktujesz iem, czy czymkolwiek innym, nie masz pewności, że zamknięcie tagu będzie w tych pierwszych 700 znakach.
Po czwarte - niektóre notki lepiej, jak mają krótszy wstęp, inne lepiej jak mają dłuższy - nie da się tego płynnie regulować w Twoim rozwiązaniu
Wszystkie te problemy znikają przy rozdzieleniu na dwa pola
[quote=krzyzak]Po drugie- gdy obcinasz po 700 znakach, masz duże prawdopodobieństwo, że obetniesz jakieś słowo - a to nie wygląda ładnie
Po trzecie - masz całkiem duże prawdopodobieństwo tego, że będziesz miał niepoprawny html. Jeśli w artykule coś sobie potraktujesz iem, czy czymkolwiek innym, nie masz pewności, że zamknięcie tagu będzie w tych pierwszych 700 znakach.[/quote]
Ale wiesz że helpery railsowe mają ten problem rozwiązany od, like, co najmniej trzech lat?