Record d'apprentissage de Ruby on rails -2020.10.06

Créer un site d’introduction de magasin Génération automatique de liste de magasin

$ rails generate scaffold shop category_id:integer name:string address:string


$ rails db:migrate'```

 Association du modèle de grève de catégorie et de liste de magasin


#### **`app/model/category.rb`**
```rb

class Category < ApplicationRecord
  has_many :shops
end

app/models/shop.rb


class Shop < ApplicationRecord
  belongs_to :category
end

Permet de sélectionner une catégorie sur le formulaire d'inscription / modification

app/views/shops/_form.html.erb


<div class="field">
  <%= f.label :category_id %>
  <%= f.select :category_id, Category.all.map{|o| [o.name, o.id]} %>
</div>

Afficher le nom de la catégorie dans l'affichage de la liste et l'affichage détaillé de la liste des magasins

app/view/shops/index.html.erb


<td><%= shop.category.name %></td>

app/view/shops/show.html.erb


app/view/shops/show.html.erb

Ajouter un formulaire de recherche à afficher

/app/views/shops/index.html.erb


<%= form_tag('/shops', method: 'get') do %>
<%= label_tag(:name_key, 'Search name:') %>
<%= text_field_tag(:name_key) %>
<%= submit_tag('Search') %> <%= link_to 'Clear', shops_path %>
<% end %>

<br>

Modifier la méthode d'index dans le contrôleur

/app/controllers/shops_controller.rb


def index
  if params[:name_key]
    @shops = Shop.where('name LIKE ?', "%#{params[:name_key]}%")
  else
    @shops = Shop.all
  end
end

Lien depuis la page d'accueil

app/views/welcome/index.html.erb


<h1>Lunch Map</h1>
<p>Tasty meal on your place!!</p>
<p><%= link_to 'Show shops', shops_path %></p>

Intégrer Google Maps API Abréviation de l'interface de programmation d'application Une instruction ou une fonction fournie pour appeler une autre fonction à partir d'un programme

Google Maps API Google Maps API | Google Developers https://developers.google.com/maps/

Procédure d'acquisition de clé API
  1. Accédez à la Google Developers Console

Google Developers Console https://console.developers.google.com/

  1. Sélectionnez Créer un projet
  2. Lorsque l'API Google s'affiche, sélectionnez "Google Maps Embed API" dans l'API Google Maps.
  3. Cliquez sur "Activer"
  4. Cliquez sur "Créer des informations d'identification", puis sur le bouton "Informations d'identification requises".
  5. Enregistrez la clé API affichée
  • Il est recommandé de définir des "restrictions d'utilisation de l'API" afin qu'elle ne puisse être utilisée qu'à partir de services Web spécifiques.
  • Cette procédure et son champ d'utilisation sont susceptibles d'être modifiés du côté de Google.

Ajouter une zone de carte à afficher

app/views/shops/show.html.erb


<%= content_tag(:iframe,
                'map',
                 src:'https://www.google.com/maps/embed/v1/place?key=AIzaSyCJBgcuCowQa5-V8owXaUCHhUNBN8bfMfU&q=' + @shop.address,
                 width: 800,
                 height: 400,
                 frameborder: 0) %>

<br>

Recommended Posts

Record d'apprentissage de Ruby on rails -2020.10.03
Record d'apprentissage Ruby on rails -2020.10.04
Record d'apprentissage de Ruby on rails -2020.10.05
Record d'apprentissage de Ruby on rails -2020.10.09
Record d'apprentissage Ruby on rails-2020.10.07 ①
Record d'apprentissage de Ruby on rails -2020.10.06
Ruby on Rails élémentaire
Principes de base de Ruby on Rails
[Ruby on Rails] À propos du rappel Active Record
Association Ruby On Rails
Création de portfolio Ruby on Rails
[Ruby on Rails] Debuck (binding.pry)
Annuler la migration de Ruby on Rails
Résumé de la validation Ruby on Rails
Mémorandum de base Ruby on Rails
Ruby apprentissage 4
Ruby apprentissage 5
Ruby on Rails5 Guide pratique d'apprentissage rapide 5.2 Chapitre 2 compatible
Ruby apprentissage 3
Ruby apprentissage 2
Ruby on Rails5 Guide pratique d'apprentissage rapide 5.2 Chapitre compatible3
Ruby apprentissage 6
Ruby apprentissage 1
[Ruby on Rails] Read try (: [] ,: key)
Variables Ruby on Rails, résumé constant
Installation de Ruby + Rails sur Ubuntu 18.04 (rbenv)
[Ruby on Rails] Introduction de la fonction de pagination
Connaissance de base de Ruby on Rails
Progatez Ruby on Rails
Comment utiliser Ruby on Rails
(Ruby on Rails6) "Effacer" le contenu publié
Mémo de construction de l'environnement Ruby on Rails 6.0
[Ruby on Rails] Création de la page de confirmation
Ruby On Rails conçoit un conflit de routage
[Ruby on Rails] Implémentation de la fonction de commentaire
[Ruby on Rails] Méthode d'aide pratique
[Ruby on Rails] Arrêtez de "boucler jusqu'à ce que ..."
Recherche d'enregistrements Ruby on Rails, création sinon méthode find_or_create_by
[Ruby on Rails] Fonction de recherche (non sélectionnée)
[Rails] Ajout de la fonction de commentaire Ruby On Rails
[Ruby on Rails] Création d'un formulaire de demande
Ruby on Rails6 Guide pratique cp13 ~ cp15 [Mémo]
[Ruby on Rails] Afficher le test avec RSpec
[Ruby on Rails] Vérification du code à l'aide de Rubocop-airbnb
[Ruby on Rails] 1 modèle CRUD (routage principal)
Méthode d'installation de Ruby on Rails [édition Mac]
Modèle [Ruby on Rails], commande de terminal de contrôleur
Commande de création / suppression de modèle Ruby on Rails
Vent arrière sur les rails