2009-09-25 2 views
1

Просто начинайте использовать Ruby on Rails, чтобы посмотреть, что это.Как связать два поля с Ruby on Rails?

У меня есть модель пользователя с идентификатором и моделью с adderId. AdderId модели post должен быть идентификатором пользователя создавшего его пользователя.

Как я могу связать их с Ruby on Rails?

ответ

5

Соглашение Rails для внешних ключей даст вашей модели Post столбца user_id, а не adderId. Вы можете разорвать соглашение, но это требует немного больше конфигурации, как показано ниже:

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 

Если вы дали Разместить user_id вместо этого, вы можете сделать это:

class User < ActiveRecord::Base 
    has_many :posts 
end 

class Post < ActiveRecord::Base 
    belongs_to :user 
end 

Я рекомендую взглянуть на Rails Guide for Active Record Associations, который охватывает все вышеперечисленное и многое другое.

1

Похоже, что this question делает то, что вы пытаетесь сделать.

Извините, если я неправильно понял ваш вопрос, я тоже новичок в Ruby on Rails.

Смежные вопросы