Итак, у меня уже есть базовые настройки.
Это моя модель пользователя:
# == Schema Information
# Schema version: 20110102225945
#
# Table name: users
#
# id :integer primary key
# email :string(255)
# encrypted_password :string(128)
# password_salt :string(255)
# reset_password_token :string(255)
# remember_token :string(255)
# remember_created_at :datetime
# sign_in_count :integer
# current_sign_in_at :datetime
# last_sign_in_at :datetime
# current_sign_in_ip :string(255)
# last_sign_in_ip :string(255)
# created_at :datetime
# updated_at :datetime
# username :string(255)
# f_name :string(255)
# l_name :string(255)
#
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable, and :lockable
devise :database_authenticatable, :registerable, :timeoutable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me
has_and_belongs_to_many :projects
has_many :stages
has_many :uploads
has_many :comments
has_many :assignments
has_many :roles, :through => :assignments
has_and_belongs_to_many :owners,
:class_name => "User",
:association_foreign_key => "owner_id",
:join_table => "ownership"
def role_symbols
roles.map do |role|
role.name.underscore.to_sym
end
end
end
Моя ролевая модель выглядит так:
# == Schema Information
# Schema version: 20101117094659
#
# Table name: roles
#
# id :integer not null, primary key
# name :string(255)
# created_at :datetime
# updated_at :datetime
#
class Role < ActiveRecord::Base
has_many :assignments
has_many :users, :through => :assignments
end
Назначение выглядиткак это:
# == Schema Information
# Schema version: 20101117094659
#
# Table name: assignments
#
# id :integer not null, primary key
# created_at :datetime
# updated_at :datetime
# user_id :integer
# role_id :integer
#
class Assignment < ActiveRecord::Base
belongs_to :role
belongs_to :user
end
У меня есть таблица владения, которая имеет owner_id
и user_id
.
У меня есть одна запись в моей таблице, которая соответствует двум разным пользователям.Итак, мой вопрос: как мне взаимодействовать с пользователями / записями этого join_table.
Я хотел бы знать следующее:
- Как мне взаимодействовать в моей консоли railsс данными в этой таблице собственности?Я пробовал
owner.all
, Owner.all
, ownership.all
, owners.all
, но все безрезультатно.Итак, учитывая, что эта структура немного отличается от обычных ассоциаций, как мне это сделать? - В моем ERB, как мне перечислить всех «пользователей», которые связаны с current_user?Доступ к проектам, связанным с текущим пользователем, выглядит следующим образом:
current_user.projects.each do |project|
, тогда я могу сделать project.name
и т. Д. Но не совсем уверен, как это сделать.
Спасибо