Lors de la mise en œuvre de la fonction pour enregistrer les informations du formulaire dans plusieurs tables à l'aide de l'objet de formulaire, enregistrez l'erreur la plus problématique afin de ne pas l'oublier.
L'utilisateur achète l'article. En même temps que l'enregistrement de ce qui est entré dans le formulaire dans la base de données, il enregistre également quel produit a été acheté par quel utilisateur. Autrement dit, lorsque vous appuyez sur "Acheter" sur le formulaire, il est enregistré dans deux tableaux.
La méthode à utiliser lors de la définition de paramètres forts.
Exemple d'utilisation
controllers.rb
private
def user_order_params
params.require(:user_order).permit(:postal_code, :prefecture_id).merge(user_id: current_user.id, item_id: params[:item_id])
end
ʻUser_id: La méthode current_user de current_user.idpeut être utilisée car le périphérique Gem est installé. Vous pouvez entrer des valeurs avec ʻitem_id: params [: item_id]
car le routage est imbriqué et ʻitem_id` est inclus dans l'URL.
Les paramètres forts sont décrits ci-dessous la méthode privée.
L'argument de «require» est le nom du modèle. L'argument de «permit» est le nom de colonne de DB.
Paramètres qui peuvent être confirmés dans le terminal
"user_order"=>{"hoge"=>"", "postal_code"=>"", "prefecture_id"=>"1"}, "commit"=>"achat", "controller"=>"orders", "action"=>"create", "item_id"=>"7"}
Lorsque le contenu saisi par l'utilisateur dans form_with est inclus dans le hachage avec la clé, mais que vous souhaitez enregistrer le contenu non saisi par l'utilisateur. Par exemple, l'identifiant de l'utilisateur et l'identifiant du produit ne sont pas directement saisis par l'utilisateur, mais je souhaite les inclure dans les paramètres et enregistrer le DB. Dans ce cas, utilisez la méthode de fusion pour décrire la clé et la valeur que vous souhaitez inclure dans le paramètre. Dans l'exemple ci-dessus, user_id est extrait de crrent_user.id et item_id est extrait des paramètres inclus dans l'URL et inclus dans les paramètres.
Quand l'erreur fut résolue, il marmonna Marge seule ...
Recommended Posts