Вы должны добавить owner_id
к таблице Tools
.Ассоциации будут такими.
class User < ActiveRecord::Base
has_and_belongs_to_many :tools
end
class Tool < ActiveRecord::Base
has_and_belongs_to_many :users
belongs_to :owner, :class_name => 'User'
end
Вам понадобится таблица tools_users
, чтобы использовать habtm-ассоциацию.Создайте миграцию и создайте таблицу с параметром id: false
и двумя столбцами user_id
и tool_id
:
class CreateToolsUsersTable < ActiveRecordMigration
def change
create_table :tools_users, id: false do |t|
t.integer :tool_id
t.integer :user_id
end
end
end
После этого вы можете вызвать что-то вроде @user.tools
или @user.owner
Подробнее есть