Я пытаюсь создать универсальный метод для моего помощника для визуализации ассоциаций родительских объектов, если ассоциации определены.визуализировать связанный объект, если объект существует
Вот пример кода: Первый метод явно отображает ассоциацию. Следующий метод пытается сделать это в общем (этот родительский объект имеет 9 ассоциаций, поэтому я решил писать 9 визуализации методы были бы так не DRY.)
module SurveysHelper
def render_demographics_part(survey)
render survey.demographics_part if survey.demographics_part
end
def gen_renderer(part, survey)
render survey.part if survey.part
end
end
Вы можете позвонить прямо в свое представление 'render (survey.part) || content_tag (: p, 'No part found') '. Для каждой ассоциации вы должны определить частичное имя, подобное этой ассоциации. Например, для «demographics_part» вы должны иметь в своих представлениях папку с именем «demographics_parts» и в этой папке частичное, которое будет отображаться при вызове 'render (survey. Demographics_part)' name '_demographics_part .html.erb' – cristian
@ Octopus-Paul, похоже, что вы говорите, что я должен явно отображать детали. Ваш пример 'render (survey.part) || content_tag (: p, 'No part found') 'не будет работать, поскольку survey.part не определен. Это должно быть «render (survey.demographics_part) || content_tag (: p, 'no part found') 'или я пропустил вашу точку? –
Я использовал 'survey.part' только для того, чтобы быть общим. Посмотрите здесь https://speakerdeck.com/carlosantoniodasilva/tricks-that-rails-didnt-tell-you-about-at-railsconf-2014 на 98-м и 99-м слайдах, для лучшего объяснения – cristian