Nyní přidáme odkazy „Zpět“ k úpravám, zobrazení a nové stránce… Pokračujte, skočte do příslušných stránek a přidejte nové odkazy takto:
<%= link_to 'Back', articles_path %>
Své jsem přidal úplně na konec každého souboru.
A na stránku zobrazit přidáme odkaz upravit…
<%= link_to "Edit", edit_article_path(@article) %>
Krok 12: Přeformátování formulářů do jedné dílčí části
Vytvořte nový soubor přímo v zobrazeních/článcích.
_form.html.erb
Zkopírujte/vložte data formuláře do tohoto souboru…
Poté vykreslete formulář v nové a editační stránce…
<%= render 'form' %>
Měli byste vyřadit všechny staré informace z formuláře a přidat úryvek kódu o do nové a editační stránky tak, aby každá vypadala nějak takto:
<h1>Edit Article</h1><%= render 'form' %><%= link_to 'Back', articles_path %>
Nyní přidáme akci zničit…
Krok 13: Přidání akce zničit
V kontroléru…
Který kontrolér? To už víte.
Nyní musíme přidat odkazy na stránky, ze kterých chceme mít možnost mazat. Pomocí níže uvedeného odkazu…
<%= link_to 'Delete', article_path(article), method: :delete, data: {confirm: "Are you sure?"} %>
…přidejte na stránky, odkud chcete, aby uživatel mohl mazat.
Pokud přidám na naši indexovou stránku, bude to vypadat…
Pokud přidáme na naši stránku show, budeme muset odkaz destroy jen mírně upravit, aby napodoboval strukturu odkazu edit. Chápete, co mám na mysli?
Takto:
<%= link_to 'Delete', article_path(@article), method: :delete, data: {confirm: "Are you sure?"} %>
Místo toho:
<%= link_to 'Delete', article_path(article), method: :delete, data: {confirm: "Are you sure?"} %>
Krok 14: Refaktorizace článků Controller
Jedním z principů vývoje je DRY.
Možná už víte, co to znamená: „
Dost často se opakujeme, takže se pustíme do refaktorizace.
Tento řádek kódu se objevuje ve všech našich akcích…
@article = Article.find(params)
Vytvoříme tedy soukromou metodu a tento řádek tam uložíme…
def set_article
@article = Article.find(params)
end
Poté řádek kódu z akcí vymažeme…
Je obsažen v akcích destroy, show, update, edit…
Přímo pod prvním řádkem kontroléru…
before_action :set_article, only:
Aktualizovaný soubor kontroléru bude vypadat takto:
Krok 15: Nainstalujte Bootstrap
Přidejte soubor gemfile ze stránky github…
gem 'bootstrap-sass', '~> 3.4.1'
gem 'sassc-rails', '>= 2.1.0'
Poté v příkazovém řádku, ujistěte se, že jste v adresáři aplikace, a ne v některém z podadresářů, nainstalujte…
$ bundle install
Také budete muset vytvořit nový soubor CSS… Název souboru může vypadat takto níže a vytvoříte ho v adresáři app/assets/stylesheets
custom.css.scss
a přidáte…
Poté v aplikaci.js v souboru app/assets/javascripts…
//= require jquery
//= require bootstrap-sprockets
A pokud používáte Rails 5, nainstalujte drahokam jQuery…
gem 'jquery-rails'
Nejste si jisti, jakou verzi používáte? Spusťte v terminálu následující příkaz:
$ rails -v
Teď už to víte. Pokud potřebujete nainstalovat jquery, přidejte výše uvedený gem do souboru gemfile a nainstalujte svazek.
$ bundle install
Krok 16: Instalace navigačního panelu
Vytvořte částečný ve složce layouts…
_navigation.html.erb
Nyní přejděte na domovskou stránku bootstrapu…
Vychytejte výchozí kód navigačního panelu… Je to první příklad a vypadá nějak takto: