如何使用参数的值为关联模型构建`.collection`方法?

问题描述 投票:1回答:1

我不确定我的问题的正确术语是什么,但是可以使用参数的值来“构建”其适当的.collection方法吗?

例如,提交的内容有很多图像,标签和文档。根据用户与之交互的方式,我想创建适当的关联。

最初,我只为标签设置了它...

def add_to_submission(task, user, tag)
  sub = Submission.find_or_create_by(task: task, user: user)
  sub.tags << tag
end

但是有一种方法可以进一步概括它,以便使第三个参数更具动态性?有点像...

def add_to_submission(task, user, associated_item)
  sub = Submission.find_or_create_by(task: task, user: user)
  items = associated_item.pluralize
  sub.items << associated_item
end
ruby-on-rails ruby associations
1个回答
0
投票
def add_to_submission(task, user, associated_item) submission = Submission.find_or_create_by(task: task, user: user) children = associated_item.pluralize.to_sym submission.send(children) << associated_item end
© www.soinside.com 2019 - 2024. All rights reserved.