ActiveHash En décrivant directement les données inchangées telles que la sélection de l'occupation dans le fichier modèle, les données peuvent être traitées sans les enregistrer dans la base de données. En d'autres termes, en utilisant Active_Hash, la méthode ActiveRecord peut être utilisée pour les données inchangées décrites directement dans le fichier de modèle.
Gemfile
qiita.rb
gem 'active_hash'
Après l'écriture, exécutez l'installation du bundle.
En conclusion, utilisez --skip-migration. La raison n'est pas de créer une base de données. Autrement dit, le fichier de migration n'est plus nécessaire. Notez que si vous utilisez ici la commande rails g model, un fichier de migration sera créé en même temps.
%rails g nom du modèle du modèle--skip-migration
ActiveHash::Base Vous pouvez utiliser la même méthode qu'ActiveRecord. En d'autres termes, en héritant d'ActiveHash :: Base, les méthodes ActiveRecord peuvent être utilisées pour les objets définis dans le modèle.
qiita.rb
class ShippingFee < ActiveHash::Base
self.data = [
{ id: 0, name: '---' },
{ id: 1, name: 'Paiement(Charge de l'acheteur)' }, { id: 2, name: 'frais de port inclus(Fardeau de l'exposant)' }
]
end
Une image de la création d'une table avec self.data. Les données sont stockées dans un tableau au format de hachage.
belongs_to_active_hash Normalement, ce sera appart_to: nom du modèle, mais si vous souhaitez définir une association pour un modèle créé à l'aide d'ActiveHash, utilisez la méthode appartient_to_active_hash.
collection_select Une méthode qui peut afficher les données au format déroulant
Ordre des descriptions | Détails | Exemple concret |
---|---|---|
Premier argument | Nom de la méthode | Nom de colonne |
Deuxième argument | objet | Spécification des données du tableau |
Troisième argument | id | Nom de la colonne de base de données de référence |
Quatrième argument | name | Nom réel de la colonne |
Cinquième argument | prompt | Ce que vous souhaitez afficher en haut du menu déroulant |
option | nom de la classe | -- |
qiita.rb
<%= f.collection_select(:shipping_fee_id, Shipping_fee.all, :id, :name, {}, {class:"select-box", id:"item-shipping-fee-status"}) %>
J'en ai énuméré quelques-uns typiques · Préfectures ・ Sélection de la profession ・ Question fermée (comme répondre oui ou non) ·questionnaire · Catégorie · État du produit
Personnellement, j'ai estimé que cela réduirait considérablement le stress du côté utilisateur et qu'il serait possible de collecter des informations efficacement. Il peut être bon de l'utiliser lorsque vous souhaitez demander son opinion à l'autre partie.
Merci d'avoir lu l'article jusqu'à présent.
ActiveHash est également intégré à des éléments que vous utilisez avec désinvolture. C'est facile à mettre en œuvre, j'ai donc voulu l'utiliser de manière positive.
Je voudrais continuer à fournir des informations utiles au fur et à mesure que je poursuis mes études, alors j'ai hâte de travailler avec vous.
Merci beaucoup d'avoir lu l'article jusqu'à présent!
Recommended Posts