[英]How to create has_many associations in the intermediate model of has_many :through association in an optimal way Rails
[英]Looking for proper way to handle has_many through association in react-redux-rails application
我有一个带有富客户端(react + redux)和rails 5后端API的应用程序。
首先近似,我们有3个模型
issue.rb
has_many:issue_participants,从属::destroy
has_many:participants,通过::issue_participants,类名:“用户”
issue_participant.rb
当属:问题
归属地:参与者,类别名称:'用户',外键:'用户ID'
和user.rb
has_many:issue_participants,从属::destroy
has_many:issues,通过::issue_participants
我想添加参与者在前端发布。 这将在react组件中发生,在该组件中将呈现具有用户集合的redux表单(仅用户,当前问题不存在)。
我有两种选择:
通过将issues_participant_ids: []
传递给params,通过IssuesController#update
操作IssuesController#update
所选用户的问题。 请注意,我们暂时没有此操作,因为今天之前不需要此操作。
通过IssueParticipantsController#create
操作创建IssueParticipant
记录。
这两个选项均有效。 在可预期的后果中应优先考虑哪一个?
我选择了选项1来解决了这个问题,因为分别创建相关实体issue_participants
在后续issue
产生问题。
我们应该发出额外的请求以了解哪些用户已经与问题相关,如果我们在issue
表格的上下文中工作,则不要将他们从issue
对象中移出。
但是,如果我们通常将issue_participants
更新为issue
属性,那么我们将使用默认的rails params行为,并将其保留在RoR框架约定内。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.