2014-08-31 2 views
0

Ruby on Rails, ActionView, Application.html.erb 및 HTML 헤드 태그 사용과 관련하여 간단한 질문이 있습니다.ActionView, Application.html.erb 및 HTML 헤드 태그

사이트의 모든 페이지에서 콘텐츠를 표시하는 데 application.html.erb가 사용됩니다.

<head> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <meta name="description" content="My desciprtion."> 
    <meta name="robots" content="index,follow"> 
    <title><%= @title %></title> 
    <%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true, :cache => "cache/all" %> 
    <%= javascript_include_tag "application", :async => true, "data-turbolinks-track" => true, :cache => "cache/all" %> 
    <%= csrf_meta_tags %> 
</head> 

즉 위의 코드는 모든 웹 페이지에 표시됩니다.

이제 저는 SEO에 대해 읽었으며 모든 웹 페이지에 대해 별도의 설명 메타 태그를 사용하여 검색 엔진에 페이지의 내용을 알립니다. 당신에 대한 내 질문

당신이

page1.html.erb 
page2.html.erb 
page3.html.erb 

처럼 레일의 개별 페이지를 사용자 정의 할 수 있습니까 그들 내부의 HTML 헤드 태그를 포함입니까?

나는 꽤 오랫동안 Ruby on Rails로 작업 해 왔지만,보기 페이지 안에 헤드 태그를 본 적이 없다.

나는 그 문제에 대해 본문 태그를 보지 못했습니다.

나는 페이지에 대한 개별 타이틀을 선언

<% @title = "Page Title" %> 

을 사용했다. 그것은 HTML 제목 태그와 동일합니다.

모든 웹 페이지에 대한 설명을 선언 할 때 이와 비슷한 것이 있습니까? 몇 가지 예로서

<head> 
    ... 
    <%= display_meta_tags %> 
</head> 

:

답변

2

당신은 당신의 헤더를 변경할 수 :

귀하의 의견에 그런
<head> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <%= yield :meta %> 
    <meta name="robots" content="index,follow"> 
    <title><%= yield :title %></title> 
    <%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true, :cache => "cache/all" %> 
    <%= javascript_include_tag "application", :async => true, "data-turbolinks-track" => true, :cache => "cache/all" %> 
    <%= csrf_meta_tags %> 
</head> 

당신이 할 수 있습니다 :

<% content_for :meta do %> 
    <meta name="description" content="blah"> 
<% end %> 

<% content_for :title, 'My title' %> 
+0

고맙습니다. – Johnson

0

당신이 meta-tag 보석을 사용할 수

set_meta_tags site: 'Site Title', title: 'Member Login' 
# <title>Site Title | Page Title</title> 

set_meta_tags description: "All text about keywords, other keywords" 
# <meta name="description" content="All text about keywords, other keywords" /> 

set_meta_tags canonical: "http://yoursite.com/canonical/url" 
# <link rel="canonical" href="http://yoursite.com/canonical/url" /> 

set_meta_tags :twitter => { 
    :card => "summary", 
    :site => "@username" 
} 
# <meta name="twitter:card" content="summary"/> 
# <meta name="twitter:site" content="@username"/> 

set_meta_tags :author => "Dmytro Shteflyuk" 
# <meta name="author" content="Dmytro Shteflyuk"/> 
+1

이 링크는 질문에 대답 할 수 있지만 여기에 답변의 핵심 부분을 포함하고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. –

+0

@ SørenHoltenHansen,하지만 보석이 삭제되고 링크가 틀리면이 답변도 틀릴 것입니다. 내가 추가 한 설명이 중요하지 않습니다;) – IS04

+0

설명에 추가 할 때 큰 문제가됩니다. 품질에 대한 질문과 정답은 사실상 다른 Q/A 사이트와는 다른 Stack Overflow를 설정하는 것입니다. –