0
我有3個型號,它們的關係是many-to-many
Rails的添加記錄基於許多-to-many關聯
MMEM:
class MMem < ActiveRecord::Base
has_many :t_mem_task_records
has_many :m_tasks,through: :t_mem_task_records
end
TMemTaskRecord:
class TMemTaskRecord < ActiveRecord::Base
belongs_to :m_mem
belongs_to :m_task
end
TMemTask:
class TMemTask < ActiveRecord::Base
has_many :t_mem_task_records
has_many :m_mems,through: :t_mem_task_records
end
如果我想要得到的指定MMem
所有TMemTasks
,我可以這樣寫:
MMem.find(1).m_tasks
現在,我想一個TMemTask
添加到指定MMem
MMem.find(1).m_tasks.create(MTask.find(1))
但我得到了一個錯誤:
NoMethodError: undefined method `stringify_keys' for #<MTask:0xb822624>
爲什麼我得到這個錯誤?或任何其他解決方案?
感謝,這項工作很好! – HXH
如果'TMemTaskRecord'有另一個名爲'tip'的字段,並且當我執行'MMem.find(1).m_tasks << MTask.find(1)'時我想把它設置爲'0',我該怎麼辦?謝謝! – HXH
@HXH'MMem.find(1).t_mem_task_records.create(m_task:MTask.find(1),tip:0)' – xdazz