2016-07-10 21 views
0

Ich versuche, eine Assoziationsklasse mit Ruby on Rails zu erstellen, aber es funktioniert nicht.Rails association class

Ich brauche dies zu tun:

enter image description here

Ich habe meine Modelle erstellen, aber ich bin nicht sicher, ob ich es getan hätte hier richtig

Jemand mich von Anfang an erklären kann?

class CreateJobsUsers < ActiveRecord::Migration 
    def change 
    create_table :jobs_users, id: false do |t| 
     t.belongs_to :jobs, index: true 
     t.belongs_to :users, index: true 
     t.integer :level 
    end 
    end 
end 

Antwort

0

Dies ist Beziehung many to many, Sie können dies tun:

class User < ApplicationRecord 
    has_many :user_jobs 
    has_many :jobs, through: :user_jobs 
end 

class UserJob < ApplicationRecord 
    belongs_to :user 
    belongs_to :job 
end 

class Job < ApplicationRecord 
    has_many :user_jobs 
    has_many :users, through: :user_jobs 
end 

Einzelheiten über die Beziehung many to many, können Sie verweisen:

association many to many

+0

danken Okay, du ich kann meinen Beitrag bearbeiten Sie sagen mir, ob meine Migration zum Erstellen der Tabelle gut ist? Ich weiß nie, ob ich brauche ein 'S', wenn ich meine Tabelle erstellen –

+0

Ich nehme an, Ihre Migration-Datei sollte singuläre Form wie enthalten: t.belongs_to: job, index: true und t.belongs_to: user, index: true. Für weitere Details können Sie die Rails Guides für Assoziationen, Abschnitt 2.4 Die has_many: through Association, überprüfen. Link: http://guides.rubyonrails.org/association_basics.html – Maxo