Я не уверен, какова правильная терминология для моего вопроса, но возможно ли использовать значение аргумента, чтобы "построить" его соответствующий .collection
метод?
Например, Submission has_many images, теги и документы. И в зависимости от того, с чем взаимодействует пользователь, я бы хотел создать соответствующую ассоциацию.
Изначально я настроил ее только для тегов ...
def add_to_submission(task, user, tag)
sub = Submission.find_or_create_by(task: task, user: user)
sub.tags << tag
end
НоЕсть ли способ, которым я могу обобщить это дальше, так что третий аргумент может быть более динамичным? Таким образом, вместо только допускается тег, его можно использовать как
add_to_submission(@task, @current_user, @new_image)
Что-то вроде ...
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