Ice cream
-
Ajoutez un modèle pour nos glaces :
rails g model ice_cream flavor:string manufacturer:string
-
Lancez les migrations :
rails db:migrate
-
Créez une nouvelle glace dans la console Rails :
$ rails c > IceCream.create(flavor: 'Vanille', manufacturer: 'Picard')
Sortez de la console avec Control-D
-
Créez un controller pour nos glaces :
rails g controller ice_creams index --skip-routes
-
Ajouter une route index. Ouvrez
config/routes.rb
et écrivez :root 'ice_creams#index'
-
Dans un nouveau terminal, lancez le serveur de développement Rails :
rails s
Naviguez à
http://localhost:3000
, et vous devrez voir un placeholder pour la page index des glaces. -
Ouvrez notre controller (
app/controllers/ice_creams_controller.rb
) et ajoutez cette ligne à la méthodeindex
:@ice_creams = IceCream.all
Les variables d'instance, précédées par des
@
, sont accessibles dans les templates. -
Ouvrez notre template index (
app/views/ice_creams/index.html.erb
). Remplacez le contenu avec :<% if @ice_creams.present? %> <ul> <% @ice_creams.each do |ice_cream| %> <li> <%= ice_cream.flavor %>, <%= ice_cream.manufacturer %> </li> <% end %> </ul> <% end %>
-
Rechargez la page dans votre navigateur. Vous devrez voir la glace que nous avons crées auparavant affiché sur la page.
-
Ouvrez le layout (
app/views/layouts/application.html.erb
), et ajoutez cette ligne au-dessus du<%= yield %>
:<h1>Deux Scoops</h1>
Quand vous rechargez la page, un header devrait apparaître au-dessus de la liste de glaces. L'HTML dans le template layout est rendu sur tous les pages de l'application.