Czuję, że biorę tu szalone pigułki! Przeglądałem cały Internet i nie mogę znaleźć rozwiązania ...
Problem:
Używam treści i pośredni - pełen treści w zasadzie stworzyć bloga. Typ treści, który mnie interesuje w wyświetlaniu i zamawianiu, nazywa się "post". Do tej pory udało mi się pobrać wszystkie moje posty do / data / blog / postów przy użyciu następującej konfiguracji:
activate :contentful do |f|
f.space = { blog: "xxxxxxxx" }
f.access_token = "xxxxxxxxxxxxxxxxx"
f.content_types = { posts: "xxxxxxxx"}
end
uwaga: celowo pominąłem identyfikatory i żetony
Problem polega na tym, że próbuję wyprowadzić te posty w pliku .erb, wykonując następujące czynności:
<% data.blog.posts.each do |id, post| %>
<h1><%= post.title %></h1>
<% end %>
W wyniku tego pojawi się lista kafelków postów (npoczekiwane), ale wydaje się, że nie ma żadnego zamówienia na wyjście. Domyślam się, że dane wyjściowe będą uporządkowane według daty utworzenia. Jak można zrobić, aby dodać to zamówienie lub inne zamówienie w tej sprawie?
PS, jednym z problemów wydają się być te dane.blog.posts to obiekt o identyfikatorach postów jako kluczach. To wydaje się problematyczne. Dzięki za pomoc! Właśnie zaczynam od pośrednika, wybacz mi moją ignorancję!
Odpowiedzi:
0 dla odpowiedzi № 1Domyślnie Contentful nie zapewnia żadnej określonej kolejności dla swoich wpisów.
Możesz określić kolejność w cda_query
parametr konfiguracyjny. Możesz znaleźć więcej informacji na temat tej sekcji contentful_middleman
dokumentacja: https://github.com/contentful/contentful_middleman#configuration
Dlatego Twój blok konfiguracji powinien wyglądać tak:
activate :contentful do |f|
f.space = { blog: "xxxxxxxx" }
f.access_token = "xxxxxxxxxxxxxxxxx"
f.content_types = { posts: "xxxxxxxx"}
f.cda_query = { order: "sys.createdAt" }
end
Więcej informacji na temat wszystkich możliwości składania zamówień można znaleźć w dokumentacji interfejsu API Contentful Delivery: https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters/order
Mam nadzieję że uznasz to za użyteczne
-1 dla odpowiedzi № 2
Na to pytanie w zasadzie tu udzielono odpowiedzi. https://github.com/contentful/contentful_middleman/issues/68#issuecomment-170520254.