繁体   English   中英

在react-redux-rails应用程序中寻找通过关联处理has_many的正确方法

[英]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表单(仅用户,当前问题不存在)。

我有两种选择:

  1. 通过将issues_participant_ids: []传递给params,通过IssuesController#update操作IssuesController#update所选用户的问题。 请注意,我们暂时没有此操作,因为今天之前不需要此操作。

  2. 通过IssueParticipantsController#create操作创建IssueParticipant记录。

这两个选项均有效。 在可预期的后果中应优先考虑哪一个?

我选择了选项1来解决了这个问题,因为分别创建相关实体issue_participants在后续issue产生问题。

我们应该发出额外的请求以了解哪些用户已经与问题相关,如果我们在issue表格的上下文中工作,则不要将他们从issue对象中移出。

但是,如果我们通常将issue_participants更新为issue属性,那么我们将使用默认的rails params行为,并将其保留在RoR框架约定内。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM