/ / Zamawianie danych w / Middleman i Contentful - ruby-on-rails, ruby, pośrednik, contentful

Zamawianie danych w / Middleman i Contentful - ruby-on-rails, ruby, middleman, contentful

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 № 1

Domyś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.