Witam, próbuję przeportować layout w którym pokazuję listę filmów oraz z tych samych danym chcę generować czas wyświetlania. Wydaje mi się że trochę przekombinowuję: najpierw generyję zmienne aby mieć posortowane te dane
class PagesController < ApplicationController
def index
@news = News.all
@movies = Movie.all.order("time ASC")
@kids, @drama, @action = [], [], []
@movies_array = [[], [], [], []]
@movies.each do |movie|
case
when movie.kids?
@kids << movie
when movie.drama?
@drama << movie
when movie.action?
@action << movie
end
case
when movie.date == Date.new(2018,8,5)
@movies_array[0] << movie
when movie.date == Date.new(2018,8,6)
@movies_array[1] << movie
when movie.date == Date.new(2018,8,7)
@movies_array[2] << movie
when movie.date == Date.new(2018,8,8)
@movies_array[3] << movie
end
end
end
end
a potem chce je generować - pierwsza cześć mi działa ale z drugą mam problem bo mam listę z 4 dniami i w każdym dniu są 3 filmy
więc najpierw zrobiłem view helper dla pojedyńczego elementu listy i iterowałem 4 razy dla kazdej zmiennej. Potem chciałem dla każdego dnia i się posypało.
moj plik html.erb
<% @movies_array.each do |movies| %>
<%= movies_list( movies ).html_safe %>
<% end %>
view helper:
def movie_list_item movie
"
<a href='#register' class='list-group-item list-group-item-action'>#{movie.title}<span class='badge badge-info badge-pill float-right'># {movie.time}</span></a>
"
end
def movies_list movies
"
<div class='col-md-3'>
<div class='list-group'>
<a href='#register' class='list-group-item list-group-item-primary'>" +
movies[0].date.to_s +
"</a>" +
(movies.each do |movie| movie_list_item(movie) end) +
"</div>
</div>
"
end
teraz zwraca mi obiekty zamiast stringów w tej drugiej metodzie z odwołąnia do pierwszej metody:
, #<movie id:="" 5,="" title:="" "nebraska",="" image:="" "nebraska.jpe",="" genere:="" "drama",="" date:="" "2018-08-05",="" time:="" "2000-01-01="" 19:00:00",="" description:="" "elegant="" in="" its="" simplicity="" and="" poetic="" messag...",="" created_at:="" "2018-09-26="" 02:32:15",="" updated_at:="" 02:32:15"="">, #<movie id:="" 8,="" title:="" "world's="" end",="" image:="" "worlds_end.jpe",="" genere:="" "action",="" date:="" "2018-08-05",="" time:="" "2000-01-01="" 21:00:00",="" description:="" "madcap="" and="" heartfelt,="" edgar="" wright's="" apocalypse="" co...",="" created_at:="" "2018-09-26="" 02:32:15",="" updated_at:="" 02:32:15"="">]
</movie></movie> , #<movie id:="" 5,="" title:="" "nebraska",="" image:="" "nebraska.jpe",="" genere:="" "drama",="" date:="" "2018-08-05",="" time:="" "2000-01-01="" 19:00:00",="" description:="" "elegant="" in="" its="" simplicity="" and="" poetic="" messag...",="" created_at:="" "2018-09-26="" 02:32:15",="" updated_at:="" 02:32:15"="">, #<movie id:="" 8,="" title:="" "world's="" end",="" image:="" "worlds_end.jpe",="" genere:="" "action",="" date:="" "2018-08-05",="" time:="" "2000-01-01="" 21:00:00",="" description:="" "madcap="" and="" heartfelt,="" edgar="" wright's="" apocalypse="" co...",="" created_at:="" "2018-09-26="" 02:32:15",="" updated_at:="" 02:32:15"="">]
</movie></movie>
A tak powinno wyglądać
github- branch z popsutą wersją, w trakcie testowania
ps. dodawanie obrazka mi nie działa