Флажки Rails для ассоциации has_many: through - PullRequest
0 голосов
/ 03 января 2012

Человек может участвовать в различных соревнованиях, но он должен ввести имя партнера для этого события. Эта связь сохраняется в записи, которая содержит поле для имени партнера.

class Person < ActiveRecord::Base
    has_many :entries
    has_many :events, :through => :entries

    validates_presence_of :name
end

class Event < ActiveRecord::Base
end

class Entry < ActiveRecord::Base
    belongs_to :person
    belongs_to :event

    validates_presence_of :partner_name
end

Вопрос заключается в следующем: как создать одностраничную форму, позволяющую человеку вводить себя в нескольких событиях и вводить имена своих партнеров? Я попытался реализовать метод all_entries в модели person, который будет возвращать массив объектов ввода для всех доступных событий, и метод all_entries_attributes, который будет обновлять, создавать и удалять объекты ввода, но я не могу ' Кажется, не найти хороший, чистый способ сделать это. Я знаю, что это довольно открытый вопрос, но это, должно быть, шаблон, с которым сталкивался кто-то еще в сообществе rails, поэтому я надеюсь, что есть хорошее решение.

Ответы [ 2 ]

2 голосов
/ 09 февраля 2012

Если вы все еще ищете ответ, возможно, вы захотите проверить мои вопрос и ответ , которые я нашел.

0 голосов
/ 03 января 2012

Итак, вам нужна страница, на которой вы можете создавать события для пользователя и добавлять людей к этим событиям

Я не дам вам простого решения, потому что для этого есть какая-то работа, но я рекомендую проверить эти сообщения о вложенных моделях

часть1 и часть2

...