Die Stichprobe ist "1 zu 1" Verwenden Sie "devise" für Auth Der Inhalt der Tabelle entspricht dem Bild unten
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
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
Die Methodenkette kann durch Zuordnen in den Modelleinstellungen verwendet werden.
***.rb
user.profile
profile.user
$ 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