link_to

Witam!
mam prosbe o pomoc gdyz nie wiem jak to zrobic. mam taki kod w pliku show

[code]


Uczelnia:
<%=h @college.name %>

Miasto: <%=h @college.city %>

Opis: <%=h @college.description %>

Kierunki:
<%= @college.specializations.collect {|r| r.special}.join(', ') %>

<%= link_to ‘Edytuj’, edit_college_path(@college) %> |
<%= link_to ‘Wróć’, colleges_path %>[/code]
i nie wiem jak zrobic aby kierunki byly wyswietlane pod soba a nie po przecinku i jak utworzyc do nich linki.
Z gory dziekuje z pomoc.

ja bym proponował taki kod w helperze:

[code]def content_tag_each(items)
items.inject(’’){ |output, item| output << yield(item) }
end

def specializations_links
content_tag(:ul) do
content_tag_each(@college.specializations) do |item|
content_tag(:li){ link_to(item.special, specializations_path(item) ) }
end
end
end[/code]
a następnie w widoku:

<%= specializations_links %>

wywala mi blad

C:/INSTAN~1.0-W/rails_apps/dyplom/app/helpers/colleges_helper.rb:9: syntax error, unexpected '}', expecting ')' content_tag(:li){ link_to(item.special, specializations_path(item) }

Zdaje się, że Esse zgubił nawias:

content_tag(:li){ link_to(item.special, specializations_path(item)) }

z tego co wyczytałem w tym tuturialu http://blog.jayfields.com/2008/03/ruby-inject.html to można pominąć pusty element w inject

items.injectb[/b]

[quote=rav]Zdaje się, że Esse zgubił nawias:

content_tag(:li){ link_to(item.special, specializations_path(item)) }[/quote]
racja, poprawiłem.
dzięki :slight_smile:

dzieki za pomoc wszystkim ale i tak nie chce mi dzialac cos :confused:
ale teraz mam juz inny problem bo chce wyciagnac z bazy 10 ostatnio dodanych rekordow i 10 najczesciej powtarzajacych sie i nie wiem jak sie za to zabrac :confused:

żeby znaleźć 10 najnowszych, dajesz Model.find(:all, :limit => 10, :order => “created_at DESC”), gdzie created_at to nazwa kolumny, gdzie jest data utworzenia.

Odnośnie najczęściej powtarzających się, to co jest warunkiem powtarzalności? Cały rekord jest identyczny?

jezeli chodzi o powtarzalnosc to wyglada to tak mam tabele college_specialization w ktorej przechowywane sa id uczelni i id kierunku a ze uczelnia moze miec wiele kierunkow to wyglada to mniej wiecej tak

college_id specialization_id
1 4
1 8
1 10
2 4
2 10
3 8
3 10

i chodzi mi o to zeby z kolumny specialization_id wyselekcjonowac np. 10 najczesciej powtarzajace sie wartosci.
Z ostatnio dodanymi sobie poradzilem, dzieki za pomoc.
Pozdrawiam