Создайте и обновите две модели с моделью соединения (через has_many) и дополнительными полями - PullRequest
0 голосов
/ 01 марта 2011

Я пытался упростить контекст моего предыдущего поста (примерно 6 часов назад: https://stackoverflow.com/questions/5150031/linking-three-models-through-two-join-models), просто связав мои два основных столбца (свойства и пользователи) через модель соединения (актерство)), в котором у меня есть два идентификатора (property_id и user_id) и строковый столбец (роль), для которого я бы добавил простой текст. Однако я даже не знаю, как создать симл в представлении этой простой модели; Я прочитал, как пару десятков тем о has_many: through и дополнительных полях, и до сих пор не знаю, как это сделать ... У кого-нибудь есть простой ответ, как это реализовать? Кажется, что если бы я использовал.нет, я бы закончил около 2 недель назад ...

1 Ответ

0 голосов
/ 01 марта 2011
class User < ActiveRecord::Base
  has_many :properties, :through => :actorships
  has_many :actorships
end

class Property < ActiveRecord::Base
  has_many :users, :through => :actorships
  has_many :actorships
end

class Actorship < ActiveRecord::Base
  belongs_to :user
  belongs_to :property
end

user = User.last
new_actorship = user.actorships.create(:property=>Property.last, :role => 'omg')
# => Actorship associated to User and Property, with role 'omg'

user.properties
# => [Property.last]
...