(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5LHNRP9'); thecodest, Autor na The Codest - Strona 11 z 13

Popularne problemy związane z Railsami i Rails-way

Problemy wspomniane w: artykuł na temat Shopify

Dodatkowe problemy

Alternatywy dla Rails

Jeśli chodzi o Szyny w Ruby mamy kilka alternatyw. Inne frameworki oparte na Rack obejmują: - Sinatra, - Roda, - Hanami.

Co czyni je wyjątkowymi?

Zarówno Sinatra, jak i Roda oferują my składnia routingu blokowego, ale routing w Sinatrze jest listą, a w Rodzie - drzewem. W obu frameworkach musimy sami zająć się implementacją warstwy modelu. W przypadku Roda dobrym pomysłem jest użycie gema Sequel.

Roda jest inspirowana Sinatrą. Sama w sobie jest bardzo lekka, ale ma wiele wtyczek.

Hanami jest najbliżej Szyny jeśli chodzi o obszary objęte ramami. Najważniejsze różnice w zakresie użytkowania są następujące:

Hanami w wersji 1 mocno ogranicza użycie ROMu, na którym bazuje (wersja 3, a jest już 5), więc nie warto korzystać z proponowanej tam warstwy modelu. Ponieważ jednak jest to bardzo otwarty framework, dość łatwo zaimplementować tam własny model.

Dodatki dla Rails

Warto korzystać z rozwiązań, które nie są zależne od Szyny i są bliższe "czystym" Ruby. Narzędzia wymienione w prezentacji to:

Sequel jest łatwy do umieszczenia w projektopiera się na wtyczkach, a także implementuje wzorzec aktywnego rekordu. Ma lepszą niskopoziomową obsługę zapytań niż Szyny' ActiveRecord.

ROM używa Sequel, ale jego koncepcja polega na tłumaczeniu między rekordami w bazie danych a rekordami w bazie danych. Ruby obiekty. Jego celem jest szybkość i dane transformacja. Wyraźnie oddziela warstwę trwałości w aplikacji.

Biblioteki dry-rb są bardzo przydatnymi narzędziami:

Wnioski

Najlepiej używać Szyny aby nie trzeba było używać Szyny jednego dnia.

Źródła

Artykuły

Ramy

Klejnoty

Specyfikacje

Czytaj więcej:

Czym jest Ruby on Jets i jak zbudować aplikację przy jego użyciu?

Vuelendar. Nowy projekt Codest oparty na Vue.js

Cotygodniowy raport Codest z najlepszymi artykułami technicznymi. Tworzenie oprogramowania dla 50 milionów współbieżnych gniazd (10)

pl_PLPolish