【问题标题】:Create Nested Resource at same time as Parent与父级同时创建嵌套资源
【发布时间】:2017-07-15 18:02:21
【问题描述】:
我有 Session、Attendee、Role 三个模型。与会者嵌套在 Session 中,而 Role 是一个单独的模型。
我希望能够创建一个新会话,并在创建会话时为该会话创建一个具有“所有者”角色的与会者。
我在两件事上画了一个空白:
1) 如何在创建时将与会者添加到会话中
2) 如何找到角色“所有者”的 ID 并将其添加为参加者的参数。
期待你们的回音!
:D
【问题讨论】:
标签:
ruby-on-rails
roles
nested-resources
【解决方案1】:
几个选项。
将其添加到 Session 上的 after_create 或 before_create 回调中。
class Session
after_create :create_attendee
def create_attendee
Attendee.create(session: this)
end
end
class Session
before_create :build_attendee
def build_attendee
this.attendees << Attendee.new(...)
end
end
在创建会话对象时显式创建它
session = Session.new(..)
session.attendees << Attendee.new(..)
session.save