Я создал ассоциацию has_and_belongs_to_many
между пользователями и проектами, чтобы пользователь мог присоединиться к проекту. Однако существует таблица ассоциации, я не уверен, как создать ассоциацию.Rails 4 - has_and_belongs_to_many assocation
ответ
Поскольку у Вас есть свой проект ID внутри спрятан вы можете просто сделать это внутри JOIN (пост) действие
def join
@project = Project.find(params[:project][:id])
current_user.projects << @project
end
так что если у вас есть экземпляр @project и экземпляра пользователя - в моем примере это current_user (например, если вы используете devise), то вы просто назначили бы их с помощью оператора < <
Вот ссылка:
http://guides.rubyonrails.org/association_basics.html#has-many-association-reference
Надеется, что это помогает
Спасибо, что ответили. Как бы я затем отобразил пользователей, которые нажали присоединиться к группе? –
Я как-то понял, спасибо! Я не могу выдвинуть еще ... –
Я определенно должны рекомендовать вам не использования has_and_belongs_to_many
, потому что нет никакого способа для вас сделать, чтобы обратные вызовы, валидации и так на.
Определенно приятно использовать настоящую модель соединения и использовать has_many, through
.
class User
has_many :project_users, dependent: :destroy
has_many :projects, through: :project_users
end
class Project
has_many :project_users, dependent: :destroy
has_many :users, through: :project_users
end
class ProjectUser
belongs_to :project, required: true
belongs_to :user, required: true
validates :project, uniqueness: { scope: :user }
end
Это работает очень легко, вы можете сделать:
User.update(project_ids: [1,5,6,7])
И будет присоединиться к пользователю этих проектов, если какие-либо валидация не удастся.
Я начал с большого проекта с этими таблицами повсюду, через несколько месяцев мы начали сталкиваться с проблемами дублирования, плохим состоянием записей, и это был жаркий беспорядок. Использование реальной модели объединения стоит того.
Спасибо за отзыв! Не стесняйтесь помнить об этом! –
- 1. Rails 4 has_and_belongs_to_many
- 2. RAILS-4 - has_and_belongs_to_many
- 3. has_and_belongs_to_many association in rails 4
- 4. Rails Assocation не спасает
- 5. Rails 4 Migration: has_and_belongs_to_many имя таблицы
- 6. Rails 4 - флажки для ассоциации has_and_belongs_to_many
- 7. Rails has_and_belongs_to_many with Many
- 8. Rails named_scope с has_and_belongs_to_many
- 9. Rails has_and_belongs_to_many И collection_check_boxes
- 10. Rails 3 - has_and_belongs_to_many
- 11. has_and_belongs_to_many in Rails
- 12. Rails has_and_belongs_to_many ActiveRecord :: UnknownPrimaryKey
- 13. rails association - has_many vs has_and_belongs_to_many
- 14. Использование уник в отношениях has_and_belongs_to_many в Rails 4
- 15. Rails 4 Присоединиться к запросу через has_and_belongs_to_many отношения
- 16. Rails 4 has_and_belongs_to_many не работает должным образом с включением оператора
- 17. Rails 3 multisite (Assocation with id)?
- 18. Rails и RSpec: Mock Assocation коллекция возвратные
- 19. Rails-4.2 delete a 'through' assocation
- 20. rails has_and_belongs_to_many или ручная реализация
- 21. Rails ActiveRecord отношения для has_and_belongs_to_many
- 22. Ruby on Rails - has_and_belongs_to_many relationship
- 23. Создание отношений has_and_belongs_to_many в Rails
- 24. Rails ищет ошибочную таблицу has_and_belongs_to_many
- 25. Confused on Rails has_and_belongs_to_many Association
- 26. Как вызвать обратные вызовы, когда я изменить Assocation
- 27. Rails 4 Multipleselect
- 28. ActiveModel :: ForbiddenAttributesError Rails 4
- 29. CakePHP Model Assocation
- 30. Функциональное тестирование Rails по has_and_belongs_to_many вопросу
Вопрос здесь в том, как написать код для определения пользователя для проекта с has и принадлежит ко многим ассоциациям? –
да! Я не уверен, с чего начать T_T –