Ruby on Rails:我可以将请求直接路由到视图吗?

时间:2009-12-28 21:35:55

标签: ruby-on-rails rails-routing

我有一个管理部分,其中包含controllers目录的子目录。即,目录app/controllers/admin/包含一组文件,每个文件包含一个控制器,用于处理管理部分的单独部分。

现在,我想创建一个非常简单的“管理主页”,只是说“欢迎来到管理部分”,但我想避免为此目的创建一个完整的控制器,或者放置“动作” “在其他一些任意控制器中使用此视图的方法。

所以,问题是,有没有办法将''直接路由到视图'' - 直接路由到HTML文件? (并且,我不希望从/some-file.html之类的请求路径路由到HTML文件;我需要从/admin/之类的路径进行路由。)

在这里提出这个问题并不值得花时间来创建一个存根控制器,但我相信我将来会再次有这样的需求。

2 个答案:

答案 0 :(得分:8)

就像moritz所说,你不能完全绕过控制器,但你不一定要为这个动作创建一个完整的控制器。当我需要“仪表板”或“登陆”类型的页面时,我只是将操作添加到我的ApplicationController:

class ApplicationController < ActionController::Base
  def index
  end
end

然后将您的页面放在app / views / application / index.html.erb

对于您的情况,您可以将application_controller.rb放在app / controllers / admin /目录中,并在那里执行相同的操作。

我发现这是不属于资源的页面的理想位置。

答案 1 :(得分:4)

不,你不能。为什么呢?

设计:它只是违反了MVC模式,Rails强制您使用,为了您自己的利益。总是涉及一个控制器。是的,即使是这样的存根页面,也需要一个控制器。无论如何,几行代码不会伤害到你,当你需要执行一些访问控制时,你会再次喜欢它。

希望回答你的问题: - )