[RAILS] Essayez de mettre en œuvre à l'aide de l'API de recherche de produits Rakuten (facile)

introduction

Rails 6.0.3.4

Cette fois, j'aimerais enregistrer la procédure de mise en œuvre d'une application de recherche ultra-simple à l'aide de l'API de recherche de produits Rakuten. C'est peut-être le moyen le plus simple de le faire, en plus d'être facile à comprendre ...? Je pense que c'est égoïste. Cette fois, la gestion des erreurs est omise.

https://webservice.rakuten.co.jp/ Enregistrons-nous à partir de ce qui précède et obtenons l'ID de l'application.

création de contrôleur d'éléments

rails g controller items search

Si vous entrez cette commande dans le terminal, le contrôleur et la vue (search.html.erb), Il décrit également le routage (modifiez le routage à votre guise).

Décrivez la vue

<h2 class="product-subtitle-explain">Cherchons des produits!</h2>

<%= form_with url:product_search_path, method: :get, local: true do |f| %>
<%= f.text_field :keyword, placeholder: "Veuillez saisir un mot-clé de recherche", autocomplete: 'off' %>
<%= f.submit "Chercher" , :name => nil%>
<% end %>

<h2>Résultats de recherche</h2>
<%= render partial: 'item_list' %>

Est-ce quelque chose comme ça? Puisqu'il n'y a rien à sauvegarder en particulier, écrivez l'url dans form_avec quelle action ignorer.

:Rechercher un mot comme mot-clé:Stocker dans le mot-clé. ← Important!



#### **` "Veuillez saisir un mot-clé de recherche"A titre d'exemple, je mets les caractères sur le formulaire. Aussi,`**
```placeholder


#### **` 'off'J'ai donc désactivé la complétion automatique du formulaire.`**
```autocomplete


 Enfin, j'aimerais que vous y prêtiez attention.

#### **` 'product_list' %>`**
```<%= render partial

 Par conséquent, la partie dans laquelle les résultats de la recherche sont affichés est ignorée vers un autre fichier de vue.
 Alors ici, dans app / views / item,

#### **`_item.list.Créez un fichier erb. La recherche que j'ai faite plus tôt.html.C'est le même endroit que erb.`**

Vient ensuite la destination de rendu _item.list.erb, J'écrirai une description pour afficher le résultat.

<% @items.first(10).each do |item| %>

  <img src="<%= item['smallImageUrls'][0] %>">

  <a href="<%= item['itemUrl']%>" target="_blank"><%= item['itemName']%></a>

  <%= item['itemPrice'] %>Cercle
 
<% end %>

En regardant d'en haut, d'abord

<% @items.first(10).each do |item| %>★<%end%>


 En conséquence, j'ai décrit ce que je voulais copier dans le produit.

#### **`.first(10)Ce faisant, les 10 premiers éléments capturés lors de la recherche sont affichés.`**

@itemsSera défini dans le contrôleur de recherche après cela! (J'obtiens une erreur même si je regarde la vue maintenant)

item['smallImageUrls'][0] J'obtiens la première image d'un article de petite taille. item['itemurl'] J'obtiens une URL pour accéder aux détails de l'article. target="_blank" Lorsque je clique sur un élément, je le configure pour ouvrir un autre onglet et accéder à la page de détails du produit de Rakuten item['itemname'] J'obtiens le nom de l'article. ['itemprice'] J'obtiens le prix de l'article. Vous pouvez également obtenir diverses informations sur l'article. ↓ https://webservice.rakuten.co.jp/api/ichibaitemsearch/

Description du contrôleur

https://webservice.rakuten.co.jp/sdk/ruby.html Nous allons le mettre en œuvre sur la base.

gem 'rakuten_web_service'

Vers le fichier gem et bundle install` '' Veuillez redémarrer le terminal. De là, nous entrerons la description du contrôleur d'articles.

class ProductController < ApplicationController
  require 'rakuten_web_service'

  def search
    if params[:keyword].present?
      @items = RakutenWebService::Ichiba::Item.search(keyword: params[:keyword])
    else
      render :search
    end
  end
end

params[:keyword]Est la recherche.html.Les mots-clés sont stockés sous la forme d'entrée erb.


 Vérifiez [: mot-clé] dans les paramètres et stockez-le dans @items.

#### **`RakutenWebService::Ichiba::Item.la recherche est un cliché. Pour plus d'informations`**

https://webservice.rakuten.co.jp/sdk/ruby.html S'il vous plaît, jetez un oeil.

Paramètre d'ID d'application

Créez rukuten.rb sous config / initialize. Je décrirai l'identifiant de l'application La méthode de description diffère selon le moment, alors assurez-vous de vérifier également la formule.

RakutenWebService.configure do |c|
  c.application_id = '*******************'
  c.affiliate_id = '*******************'← Ceci est facultatif
end

Lors de l'utilisation de variables d'environnement:

RakutenWebService.configure do |c|
  c.application_id = ENV['RWS_APPLICATION_ID']
  c.affiliate_id = ENV["RWS_AFFILIATION_ID"]
end

Une fois que cela fonctionne, définissez les variables d'environnement même dans l'environnement de production. Après avoir préparé avec HTML / CSS, je pense que cela ressemblera probablement à ceci. products.gif

Recommended Posts

Essayez de mettre en œuvre à l'aide de l'API de recherche de produits Rakuten (facile)
[Java] J'ai essayé de mettre en œuvre la recherche de produits de l'API Yahoo
[Java] Essayez de mettre en œuvre à l'aide de génériques
Mettre en œuvre la fonction de recherche avec l'API Rakuten Books (DVD)
Essayez d'implémenter Yuma dans Ruby
Un moyen simple de créer une classe de mappage lors de l'utilisation de l'API
Implémenter la fonctionnalité de recherche à l'aide de la clause LIKE
Essayez d'implémenter Yuma en Java
Mode API Rails J'ai essayé d'implémenter la fonction de recherche multiple par mot-clé à l'aide de tableaux et d'un traitement itératif.
Essayez d'émettre ou d'obtenir une carte de Jave à Trello à l'aide de l'API
Comment implémenter la fonctionnalité de recherche dans Rails
Essayez d'implémenter l'ajout n-aire en Java
Essayez d'utiliser l'API Stream en Java
Essayez d'utiliser l'API au format JSON en Java
[Swift5] Comment mettre en œuvre une animation à l'aide de "lottie-ios"
Pour implémenter la publication d'images à l'aide de rails
Essayez d'utiliser l'API Emotion d'Android
[Java] Nouvelle spécification Implémentation de l'API de recherche de produits Yahoo!
Essayez de faire un rapport chronologique du temps d'exécution d'une méthode à l'aide de l'API JFR
[Java] Créez quelque chose comme une API de recherche de produits
Implémentez la fonction de recherche de correspondance partielle sans utiliser Ransuck
Mettre en œuvre la fonction de catégorie de produit en utilisant l'ascendance ① (Préparation)
Essayez d'utiliser l'API Cloud Vision de GCP en Java
Comment mettre en œuvre la fonction de chapelure avec Gretel
Essayez d'implémenter la fonction de connexion avec Spring Boot
Flux pour implémenter la fonction de publication d'images à l'aide d'ActiveStorage
Essayez une recherche similaire de recherche d'images à l'aide du SDK Java [Recherche]
[API] J'ai essayé d'utiliser l'API de recherche par code postal
Essayez d'afficher le nombre premier en utilisant le type booléen
Essayez d'obtenir la clé API de redmine avec ruby
Essayez d'implémenter TCP / IP + NIO avec JAVA
Comment implémenter le verrouillage optimiste dans l'API REST
Essayez d'utiliser l'analyse syntaxique de l'API COTOHA en Java
J'ai essayé d'implémenter un serveur en utilisant Netty