2016-12-01 23 views
-1

我有一個腳手架生成index.html.erb,我想知道如果沒有基本的HTML結構是好的嗎?可以,我的index.html.erb沒有HTML結構嗎?

這是我的代碼:

<% provide(:title, "Signing Up") %> 
<h1>Signing Up</h1> 

<div class="row"> 
    <div class="col-md-6 col-md-offset-3"> 
    <%= form_for(:reader, url: readers_path) do |f| %> 
     <%= f.label :email %><br> 
     <%= f.email_field :email, class: 'form-control' %> 
     </p> 
     <p> 
     <%= f.label :password %><br> 
     <%= f.password_field :password_digest, class: 'form-control' %> 
     </p> 
     <%= f.submit "Signing Up", class: "btn btn-primary" %> 
    <% end %> 

    </div> 
</div> 

我沒有看到通常的HTML,<body><head>標籤等等。我可以添加它還是沒有必要?

+0

docs如果我的回答幫助,請註明它通過點擊作爲acepted複選標記 :) –

回答

5

這是沒有必要的。在Rails中,您在views/layouts下有一個application.html.erb文件。這被用作渲染任何頁面的默認值。

這個文件是你會看到通常的HTML結構(DOCTYPE,頭,身體等)。

要查找基本佈局,Rails將在app/views/layouts中查找與控制器具有相同基本名稱的文件。

例如,來自PostsController類的渲染操作將使用app/views/layouts/posts.html.erb

如果沒有這種控制器特定的佈局,Rails將使用app/views/layouts/application.html.erb,這是您生成腳手架時發生的情況。

這是application.html.erb看起來像一般上一個新的項目是什麼:

<!DOCTYPE html> 
<html> 
<head> 
    <title></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 %> #Content from the views is shown 

</body> 
</html> 

瞭解更多信息

相關問題