Po prostu zaczynamy używać Ruby on Rails, aby zobaczyć, jak to jest.
Mam model użytkownika z identyfikatorem i modelem posta z adderID. AdderId modelu posta powinien być identyfikatorem użytkownika, który go utworzył.
Jak mogę powiązać je z Ruby on Rails?
Odpowiedzi:
5 dla odpowiedzi № 1Konwencja Rails dla kluczy obcych dałaby Twojemu modelowi Posta kolumnę user_id, a nie adderId. Możesz przerwać konwencję, ale wymaga to nieco więcej konfiguracji, jak poniżej:
class User < ActiveRecord::Base
has_many :posts, :foreign_key => :adderId
end
class Post < ActiveRecord::Base
belongs_to :adder, :class_name => "User", :foreign_key => :adderId
end
Jeśli zamiast tego podałeś Post a user_id, możesz to zrobić:
class User < ActiveRecord::Base
has_many :posts
end
class Post < ActiveRecord::Base
belongs_to :user
end
Polecam rzucić okiem na Przewodnik po szynach dla aktywnych powiązań rekordów, który obejmuje wszystkie powyższe i wiele więcej.
1 dla odpowiedzi nr 2
To wygląda jak to pytanie wydaje się robić to, co próbujesz zrobić.
Przepraszam, jeśli źle zrozumiałem twoje pytanie, ja też jestem nowy w Ruby on Rails.