Dieser Artikel ist in Worten verfasst, die das Poster verstehen kann, um zu überprüfen, was er gelernt hat.
Starke Parameter haben einen bestimmten Schlüssel und können so eingeschränkt werden, dass nur Parameter empfangen werden.
Unbeabsichtigte Speicherung von Daten durch Begrenzung der Daten der empfangenen Parameter. Um Updates zu vermeiden. Dieses Mal werden wir ein Beispiel vorstellen, das von einer Frima-App ausgeht, die Produkte verkauft.
-Die Grundkonfiguration ist wie folgt.
#・ ・ ・ Weggelassen
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
-Strong-Parameter werden als private Methoden definiert.
def create
@item = Item.new(item_params)← Hier
end
#Anwendungsbeispiel
params.require(:Modellname)
params.require(:item)
#Alle im Artikelmodell enthaltenen Daten werden gespeichert.
Verwenden Sie allow, wenn Sie die Werte, die Sie speichern möchten, nach dem Spaltennamen im angegebenen Modell begrenzen möchten.
#Anwendungsbeispiel
params.permit(:Schlüssel 1, :Schlüssel 2....)
params.require(:item).permit(:name, :explanation, :category_id, :status_id, :delivery_fee_id, :shipping_region_id, :shipping_day_id, :selling_price, :image)
#Wenn Sie im angegebenen Modell den Wert begrenzen möchten, den Sie speichern möchten, begrenzen Sie den Spaltennamen mit allow.
#Anwendungsbeispiel: Wenn Sie die Informationen des Benutzers verknüpfen möchten, der das Produkt aufgelistet hat
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)
Sie können ** current_user.id ** verwenden, da Sie ** devise ** verwenden. </ font> Es gab einen Artikel, der hilfreich war, also werde ich ihn teilen.
Liste der in Rails entwickelten Hilfsmethoden https://qiita.com/tobita0000/items/866de191635e6d74e392
Wenn Sie Vorschläge haben, würde ich mich freuen, wenn Sie mich für Ihr Studium informieren könnten.
Recommended Posts