Ich versuche, eine has_many durch Beziehung so zu machen:Struggling has_many durch Beziehung hinzufügen
#user.rb
class User < ApplicationRecord
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :availabilities
has_many :timeslots, :through => availabilities
end
#availability.rb
class Availability < ApplicationRecord
belongs_to :timeslot
belongs_to :user
end
#timeslot.rb
class Timeslot < ApplicationRecord
has_many :availabilities
has_many :timeslots, :through => availabilities
end
ich die beiden Modelle erstellt und als rake db:migrate
lief den Code in den Modellen ohne Zusatz (zum Erstellen der Tabellen) . Ich habe eine Migrationsdatei:
class AddFieldsToTables < ActiveRecord::Migration[5.0]
def change
add_column :users, :availability_id, :integer
add_column :timeslots, :availability_id, :integer
add_column :availabilities, :user_id, :integer
add_column :availabilities, :timeslot_id, :integer
end
end
und lief rake db:migrate
, als ich den obigen Code zu allen Dateien hinzugefügt. Und dann, wenn ich versuche, etwas zu generieren, gibt es mir NameError: undefined local variable or method availabilities for User (call 'User.connection' to establish a connection):Class
Ich bin neu in Ruby on Rails.
ist nicht verfügbar die Plural von Availability. – DrevanTonder
Versuchen Sie, dies ist in 'Benutzer.rb' und du wirst sehen was ich meine: 'has_many: timeslots,: through =>: availabilities' –
Entschuldigung, ich dachte du meinst das Plural der Verfügbarkeit ist verfügbar. Ich sehe was du jetzt meinst. – DrevanTonder