Ruby On Rails Association

Zuordnungseinstellungen

Die Stichprobe ist "1 zu 1" Verwenden Sie "devise" für Auth Der Inhalt der Tabelle entspricht dem Bild unten Screen Shot 2020-10-04 at 13.59.09.png

Modelleinstellungen

Beschreibe "has_one" und "Gehört zu" in jedem Im Fall von Eins-zu-Viele wird es zu "has_many".

user.rb


class User < ApplicationRecord
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable

         has_one :profile
end

profile.rb


class Profile < ApplicationRecord
  belongs_to :user
end

Controller-Einstellungen

user_id verwendet current_user.id, um die Zuweisungsverarbeitung durchzuführen

profiles_controller.rb


def create
    @profile = Profile.new(profile_params)
    #Daten aus dem Formular gesendet(user_Ohne ID)Wird über den starken Parameter zugewiesen
    @profile.user_id = current_user.id
    # user_ID ist aktuell_user.Weisen Sie den Wert mit der ID zu
    @profile.save
    redirect_to profiles_path
  end

Methodenkette

Die Methodenkette kann durch Zuordnen in den Modelleinstellungen verwendet werden.

***.rb


user.profile
profile.user

Erstellen Sie einen Benutzer-Controller

$ rails g controller users

users_controller.rb


def show
    @user = User.find(params[:id])
    @profile = @user.profile
    #Sie können den Profilwert vom Benutzer abrufen.
end

Recommended Posts

Ruby On Rails Association
Ruby on Rails Elementary
Ruby on Rails Grundlagen
Ruby on Rails Lernrekord -2020.10.03
Portfolioerstellung Ruby on Rails
[Ruby on Rails] Debuck (bindend.pry)
Ruby on Rails Lernrekord -2020.10.05
Ruby on Rails Lernrekord -2020.10.09
Ruby on Rails lernen Rekord-2020.10.07 ②
Brechen Sie die Ruby on Rails-Migration ab
Ruby on Rails Lernrekord -2020.10.06
Zusammenfassung der Ruby on Rails-Validierung
Ruby on Rails Grundlegendes Memorandum
[Ruby on Rails] Leseversuch (: [],: Schlüssel)
Ruby on Rails-Variablen, konstante Zusammenfassung
Installation von Ruby + Rails unter Ubuntu 18.04 (rbenv)
[Ruby on Rails] Paging-Funktion eingeführt
Grundkenntnisse in Ruby on Rails
Progate Ruby on Rails5 Rückblick
Verwendung von Ruby on Rails
Ruby on Rails Japanisch-Englisch kompatibler i18n
(Ruby on Rails6) Gepostete Inhalte "löschen"
[Ruby on Rails] CSV-Ausgabefunktion
Ruby on Rails 6.0-Umgebungskonstruktionsnotiz
[Ruby on Rails] Erstellung der Bestätigungsseite
Ruby On Rails entwickelt Routing-Konflikte
[Ruby on Rails] DM, Chat-Funktion
[Ruby on Rails] Praktische Hilfsmethode
[Ruby on Rails] Stoppen Sie "Looping bis ..."
Rückenwind auf Schienen
[Rails] Model Association (Vereinigung)
[Ruby on Rails] Einführung der Anfangsdaten
[Ruby on Rails] Suchfunktion (nicht ausgewählt)
[Rails] Hinzufügen der Ruby On Rails-Kommentarfunktion
Ruby on Rails6 Praktischer Leitfaden cp13 ~ cp15 [Memo]
[Ruby on Rails] Test mit RSpec anzeigen
[Ruby on Rails] Codeprüfung mit Rubocop-Airbnb
[Ruby on Rails] 1 Modell CRUD (Routing Main)
Ruby on Rails-Installationsmethode [Mac Edition]
Modell [Ruby on Rails], Befehl für Controller-Terminal
Befehl zum Erstellen / Löschen von Ruby on Rails-Modellen
Ruby on Rails6 Praktischer Leitfaden cp7 ~ cp9 [Memo]
Ruby on Rails in Visual Studio-Codespaces
[Ruby on Rails] Folgen Sie der Funktionsimplementierung: Bidirektional
[Ruby on Rails] Controller-Test mit RSpec
Bereitstellen für Heroku [Ruby on Rails] Anfänger
[Ruby on Rails] Bild-Diashow mit Skippr
Befehl zum Erstellen / Löschen des Ruby on Rails-Controllers
Vorbereiten der Einführung von jQuery in Ruby on Rails