Ce que je souhaite implémenter cette fois, c'est une fonction qui stocke des informations inchangées telles que la source d'expédition et l'état du produit sous forme Active_Hash et l'affiche sous forme de menu déroulant dans le fichier de vue lors de la mise en œuvre de la fonction de liste de produits.
En ce qui concerne la façon de stocker les préfectures, etc. avec Active_Hash, j'ai écrit un article séparé, veuillez donc vous y référer.
C'est l'une des méthodes d'aide, et c'est une description qui peut afficher la valeur donnée à la clé dans la boîte de sélection.
La description de base est
ruby:xxx.html.erb
f.collection_select(:Nom de colonne,Tableau d'éléments,Attribut d'élément de valeur,Élément de texte, { prompt: "Veuillez sélectionner" }
Il semble que.
Cette fois, je vais écrire un exemple de mise en œuvre de la présence ou de l'absence de frais d'expédition en tant que classe PostageType lors de la liste des produits.
ruby:products/new.html.erb
<%= f.collection_select(:postage_type, PostageType.all, :id, :name, {}, {class:"select-box", id:"item-shipping-fee-status"}) %>
Si vous laissez la partie invite vide, Active Hash's: id = 1 semble être affiché comme valeur par défaut du menu déroulant.
J'écrirai également la description de Active Hash de postage_type.
models/postage_type.rb
class PostageType < ActiveHash::Base
self.data = [
{id: 1, name: '---'},{id: 2, name: 'Paiement(Charge de l'acheteur)'},{id: 3, name: 'frais de port inclus(Fardeau de l'exposant)'}
]
end
En aparté, écrivons le ** nom de la classe en majuscules camel **. J'ai fait une erreur et je me suis perdu une fois ...