0

我正在尝试将 Rails 与Angularjs一起使用。Angular 将完成所有客户端工作,而 Rails 控制器假设处理列出和修改信息的请求(在数据库中)。

我在views/layouts/application.html.erb 中有一个简单的模板:

<!DOCTYPE html>
<html>
<head>
  <title>SomeApp</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= stylesheet_link_tag    "vendors", :media => "all" %>

  <%= csrf_meta_tags %>
</head>

<body>
  <div id="wrapper" ng-app="app" ng-controller="AppCtrl">
    <div ng-controller="SomeApprCtrl">
      <%= render 'header' %>
      <div ng-view=""></div>
      <%= render 'footer' %>
    </div>
  </div><!-- End on wrapper -->
  <%= javascript_include_tag "application" %>
</body>
</html>

这个模板完成了我启动 Angular 所需的一切。但我需要在 Rails 路线中放一些东西。我需要定义控制器和动作。说这样的话:

root :to => 'main#index'

这意味着我需要index在views/main/index.html 中只使用一个空方法和完全空的模板文件来定义控制器Main。我怎样才能避免出现这个空无用的文件?

我正在考虑在 ApplicationController 中使用root :to => 'application#index'和定义空index方法,但由于这个控制器是继承所有其他控制器的基础,我不希望它们有任何废话。这种方法也不能解决空index.html模板的问题

4

1 回答 1

0

虽然它是空的,但控制器实际上按照惯例处理了很多。它会自动显示index.html.erb视图,并且由于尚未指定布局,它会将其包装在application.html.erb布局中。

因此,虽然文件可能很稀疏,但幕后发生了很多事情。

于 2013-03-03T22:32:09.377 回答