代码之家  ›  专栏  ›  技术社区  ›  brainfck

从另一个调用控制器

  •  2
  • brainfck  · 技术社区  · 16 年前

    我想从另一个控制器调用控制器的操作。

    我该怎么做?

    几年前,有一些组件,但它们不再可用。

    最好的问候

    2 回复  |  直到 11 年前
        1
  •  2
  •   Damien MATHIEU    16 年前

    不能调用其他控制器的操作方法。
    你只有两个解决方案。

    正在重定向到相应的URL。

    redirect_to '/'
    

    但是,当然,如果您有来自表单的数据,则会丢失它们。

    从其他控制器呈现操作。

    render 'controller/action'
    

    您保留所有定义的数据(参数和所有内容)。
    但是你需要再做一次其他控制器会做的事情。

    避免重复代码行的一个解决方案是让库方法定义视图中需要的每个var,并在两个控制器中使用此方法。

        2
  •  2
  •   EmFi    16 年前

    redirect_to 这是最好的方法。

    如果只想用当前操作的逻辑呈现另一个操作的视图,可以将该视图作为要呈现的选项传递。

    render 'other_controller/action'