代码之家  ›  专栏  ›  技术社区  ›  Engin Kurutepe mick80234

如果某个子类缺少模板,rails将重定向到超类的模板

  •  2
  • Engin Kurutepe mick80234  · 技术社区  · 14 年前

    我正在为rails项目使用单表继承。我想知道是否可以通过在超类中实现子类之间共享一些常用函数的功能。

    routes.rb 或者有没有其他方法可以动态地完成这个任务?

    最好的,

    1 回复  |  直到 14 年前
        1
  •  0
  •   Jonathon Jones    14 年前

    至于视图问题:我假设我们讨论的是子类化模型,而不是控制器。在这种情况下,主模型的单个控制器(具有普通视图)通常可以很好地用于所有子类。在表单和创建/编辑方面,有一些稍微棘手的问题。特别是,您需要从参数中提取模型的子类,并在更新其他所有内容之后添加它。例如:

    def create
      citation_class = params[:citation].try(:delete, :type)
      @citation = citations.new(params[:citation])
      @citation.type = citation_class
      flash[:notice] = 'Citation was successfully created.' if @citation.save
    
      respond_with @citation
    end