0

我有一些几乎类似于仪表板的页面。在单个页面上,我可能有 2 个或更多单独的表单需要发布到操作以在数据库中保存不同的 AR 模型。截至目前,我只使用一个控制器,其中定义了用于创建每条记录的特定路由(create_task、create_followup 等)。由于页面本身不遵循典型的 MVC 模式,我不希望能够使用典型的 show/new/create/etc 来拥有干净的控制器。不过,我无法改变这种感觉,很多东西都可以抽象出来。

我尝试为每个模型创建一个控制器并从相应的表单发布到该控制器,但是当模型验证失败并且需要返回到我发布的原始路由时会导致问题。

有什么建议么?

4

1 回答 1

0

继续您的“每个模型的控制器”路径。当模型验证失败时,只需呈现您的主页。

class ExamplesController > ApplicationController
  def create
    example = Example.new(params[:example])
    if example.save
      # do the happy thing
    else
      render "home#index"
    end
  end
end

查看http://guides.rubyonrails.org/layouts_and_rendering.html#rendering-an-action-s-template-from-another-controller,它有更多关于它的信息。

于 2013-10-25T02:27:59.210 回答