У меня есть модель А, у которой «много» Б.
class A < ActiveRecord::Base
has_many :B
attr_accessible :title
end
class B < ActiveRecord::Base
belongs_to :A
attr_accessible :name
end
Я хочу добавить поле в свою форму «редактировать A»: текстовое поле, в котором я буду вводить свои B :name
для каждой строки, а при отправке анализировать поле и обрабатывать каждую строку.
Вопрос в том, как мне это сделать?
Редактировать
Следуя Rails - добавьте атрибуты не в модель и обновите атрибут модели Я пришел к этому:
class A < ActiveRecord::Base
has_many :B
attr_accessible :title
def my_b
list = ""
self.B.each do |b|
list += "#{b.name}\n"
end
logger.debug("Displayed Bs : " + list)
list
end
def my_b=(value)
logger.debug("Saved Bs : " + value)
# do my things with the value
end
end
Но def bees=(value)
, похоже, так и не уволили.
Что я делаю неправильно ?
Редактировать 2
Мой фактический код виден здесь: https://github.com/cosmo0/TeachMTG/blob/edit-deck/app/models/deck.rb