Cet article est rédigé avec des mots que l'affiche peut comprendre afin de revoir ce qu'il a appris.
Les paramètres forts sont ceux qui ont une clé spécifiée et peuvent être limités pour recevoir uniquement des paramètres.
Stockage involontaire de données en limitant les données des paramètres reçus. Pour éviter les mises à jour. Cette fois, nous présenterons un exemple en supposant une application frima qui vend des produits.
-La configuration de base est la suivante.
#· · · Omis
def new
@item = Item.new
end
def create
@item = Item.new(item_params)
end
private
def item_params
params.require(:item).permit(:name, :explanation, :category_id, :status_id, :delivery_fee_id, :shipping_region_id, :shipping_day_id, :selling_price, :image).merge(user_id: current_user.id)
end
-Les paramètres forts sont définis comme des méthodes privées. -La lisibilité est améliorée en définissant ** item_params ** </ font> comme indiqué ci-dessous. ** action de mise à jour ** </ font> pour mettre à jour les données après l'enregistrement avec ** action de création ** </ font> Apportez des modifications afin de pouvoir préparer votre description !!
def create
@item = Item.new(item_params)← Ici
end
#Exemple d'utilisation
params.require(:Nom du modèle)
params.require(:item)
#Toutes les données contenues dans le modèle d'article sont enregistrées.
Utilisez permit lorsque vous souhaitez limiter les valeurs que vous souhaitez enregistrer par nom de colonne dans le modèle spécifié.
#Exemple d'utilisation
params.permit(:Clé 1, :Clé 2....)
params.require(:item).permit(:name, :explanation, :category_id, :status_id, :delivery_fee_id, :shipping_region_id, :shipping_day_id, :selling_price, :image)
#Même dans le modèle spécifié, lorsque vous souhaitez limiter la valeur que vous souhaitez enregistrer, limitez le nom de la colonne avec une autorisation.
#Exemple d'utilisation: lorsque vous souhaitez lier les informations de l'utilisateur qui a répertorié le produit
params.merge(user_id: current_user.id)
params.require(:item).permit(:name, :explanation, :category_id, :status_id, :delivery_fee_id, :shipping_region_id, :shipping_day_id, :selling_price, :image).merge(user_id: current_user.id)
Vous pouvez utiliser ** current_user.id ** car vous utilisez ** devise **. </ font> Il y avait un article qui a été utile, donc je vais le partager.
Liste des méthodes d'assistance disponibles dans Rails concevoir https://qiita.com/tobita0000/items/866de191635e6d74e392
Si vous avez des suggestions, je vous serais reconnaissant de bien vouloir me le faire savoir pour votre étude.
Recommended Posts