Application.html.erb在rails 4中

时间:2015-06-10 13:20:47

标签: html ruby-on-rails-4

我是rails 4.0.2的新手。 我正在使用rails版本4和ruby 2的应用程序。在视图中,application.html.erb文件无法正常工作。它不会复制所有视图文件。

这是我在application.html.erb文件中的代码:

<!DOCTYPE html>
<html>
<head>
  <title>Myapp</title>
  <%= stylesheet_link_tag    "application", media: "all", "data-turbolinks-track" => true %>
  <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
  <%= csrf_meta_tags %>
</head>
<body>
<%= yield %>
</body>
</html>

我有一个名为xyz_controller.rb的控制器,其代码如下:

class xyzController << ApplicationController



end

application_controller.erb文件包含以下代码:

class ApplicationController < ApplicationController

       def login

       end
end

login.erb文件包含正常的html代码。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您的应用程序控制器应如下所示:

class ApplicationController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception
end

您的XYZ控制器应如下所示:

class XyzController < ApplicationController
  def action
    #here you define instance variables used in your view for this action
  end
  ...
end

...例如,您的login行动将在那里定义。

您的视图应命名为action.html.erb,其中action与您的控制器操作匹配,该文件应位于app / views / xyz中。

Rails的口号是配置的惯例。这意味着如果您(非常接近)遵循Rails惯例进行命名等,一切都将变得更加容易。如果您还没有,我强烈建议您通过像Hartl's这样的好教程。 / p>

希望这有帮助。