如果对象存在,则呈现关联对象

时间:2015-01-21 15:27:02

标签: ruby-on-rails view associations helper

我正在尝试在我的帮助器上创建一个泛型方法,以便在已定义关联的情况下呈现父对象关联。

以下是一些示例代码:第一种方法显式呈现关联。下一个方法试图一般地做这个(这个父对象有9个关联,所以我认为写9个渲染方法就不那么干了。)

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

1 个答案:

答案 0 :(得分:0)

我是这样做的:

def gen_renderer(part, survey)
  if part.nil?
    content_tag(:p, 'incomplete')
  else
    render part
  end
end

我忘记了part只是一个对象引用 - 只要它知道如何渲染自己就没关系(你需要在对象的视图路径中部分 - {{1 }})

它有效,但可能有更好的方法。