Es ist der Primärschlüssel (: id
Spalte), der immer erstellt wird, wenn eine Tabelle in der Datenbank erstellt wird. Standardmäßig wird sie jedoch ab dem ersten in der Reihenfolge registriert, in der sie im Datensatz registriert wurde. Wenn Sie sich jedoch die vorhandenen Dienste ansehen, sehen Sie, dass die Produktnummer in der URL enthalten ist oder dass die Benutzerinformationen auf Seiten wie "https: // www.uniqlo.com / jp / ja / products / E428313-000" angezeigt werden können. Der Benutzername kann ein Parameter sein.
Daher werde ich in diesem Beitrag vorstellen, wie der Primärschlüssel in eine beliebige Spalte in der Datenbank (MySQL) geändert wird.
db/migrate/_Migrationsdatei.rb
class ● ● ● < ActiveRecord::Migration[5.2]
def change
create_table :Tabellenname, id: false, primary_key: :Spaltenname als Primärschlüssel tun|t|
# `id: false`An diesem Tisch`:id`Erstellen Sie keine Spalten. Es ist eine Beschreibung.
# `primary_key:`Geben Sie den Spaltennamen als Primärschlüssel an.
t.timestamps
end
end
end
app/models/Modellname.rb
Name des Klassenmodells< ApplicationRecord
self.primary_key = "Spaltenname als Primärschlüssel"
#Durch diese Beschreibung in der Modelldatei wird die Spalte angegeben, die der Primärschlüssel (Primärschlüssel) sein wird.
end
model name.find (params [: id])
vom Controller zu : id
verwenden.
Wenn Sie die Aufzeichnung von ...Serverprotokoll
Parameters: {"id"=>"Wert"}
SELECT `Tabellenname`.* FROM `Tabellenname` WHERE `Tabellenname`.`Spaltenname als Primärschlüssel` =Wert LIMIT 1`
Und Sie können sehen, dass der Wert, der als Primärschlüssel verwendet wurde, richtig gelesen wird.
Recommended Posts