Rails Tutorial 5.1.1: Static_page/home не отображается на сервере?

http://ruby.railstutorial.org/chapters/filling-in-the-layout

Я использую ruby ​​1.8.7.

static_pages / home больше не отображается на сервере, когда я обновляю app / views / layouts / application.html.erb кодом, который он предоставляет в листинге 5.1.

Оригинал: `

<!DOCTYPE html>
<html>
  <head>
    <title><%= full_title(yield(:title)) %></title>
    <%= stylesheet_link_tag    "application", :media => "all" %>
    <%= javascript_include_tag "application" %>
    <%= csrf_meta_tags %>
  </head>
  <body>
    <%= yield %>
  </body>
</html>

`Листинг 5.1:

<!DOCTYPE html>
<html>
  <head>
    <title><%= full_title(yield(:title)) %></title>
    <%= stylesheet_link_tag    "application", media: "all" %>
    <%= javascript_include_tag "application" %>
    <%= csrf_meta_tags %>
    <!--[if lt IE 9]>
    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
  </head>
  <body>
    <header class="navbar navbar-fixed-top navbar-inverse">
      <div class="navbar-inner">
        <div class="container">
          <%= link_to "sample app", '#', id: "logo" %>
          <nav>
            <ul class="nav pull-right">
              <li><%= link_to "Home",    '#' %></li>
              <li><%= link_to "Help",    '#' %></li>
              <li><%= link_to "Sign in", '#' %></li>
            </ul>
          </nav>
        </div>
      </div>
    </header>
    <div class="container">
      <%= yield %>
    </div>
  </body>
</html>

Я даже переключился на хеши в стиле Ruby 1.8 для:media, затем: id.

Ошибка, которую я получаю на сервере:

compile error
/Users/admin/rails_projects/sample_app/app/views/layouts/application.html.erb:16: syntax error, unexpected tSTRING_BEG, expecting ')'
...nk_to "sample app", '#', :id "logo" );@output_buffer.safe_co...

Ошибка при запуске теста: Сбои:

1) Static pages About page should have the h1 'About Us'
     Failure/Error: visit '/static_pages/about'
     ActionView::Template::Error:
       compile error
       /Users/admin/rails_projects/sample_app/app/views/layouts/application.html.erb:16: syntax error, unexpected tSTRING_BEG, expecting ')'
       ...nk_to "sample app", '#', :id "logo" );@output_buffer.safe_co...
                                     ^
     # ./app/views/layouts/application.html.erb:34:in `compile'
     # ./spec/requests/static_pages_spec.rb:41

  2) Static pages About page should have the title 'About Us'
     Failure/Error: visit '/static_pages/about'
     ActionView::Template::Error:
       compile error
       /Users/admin/rails_projects/sample_app/app/views/layouts/application.html.erb:16: syntax error, unexpected tSTRING_BEG, expecting ')'
       ...nk_to "sample app", '#', :id "logo" );@output_buffer.safe_co...
                                     ^
     # ./app/views/layouts/application.html.erb:34:in `compile'
     # ./spec/requests/static_pages_spec.rb:46

  3) Static pages Home page should have the base title
     Failure/Error: visit '/static_pages/home'
     ActionView::Template::Error:
       compile error
       /Users/admin/rails_projects/sample_app/app/views/layouts/application.html.erb:16: syntax error, unexpected tSTRING_BEG, expecting ')'
       ...nk_to "sample app", '#', :id "logo" );@output_buffer.safe_co...
                                     ^
     # ./app/views/layouts/application.html.erb:34:in `compile'
     # ./spec/requests/static_pages_spec.rb:13

  4) Static pages Home page should have the h1 'Sample App'
     Failure/Error: visit '/static_pages/home'
     ActionView::Template::Error:
       compile error
       /Users/admin/rails_projects/sample_app/app/views/layouts/application.html.erb:16: syntax error, unexpected tSTRING_BEG, expecting ')'
       ...nk_to "sample app", '#', :id "logo" );@output_buffer.safe_co...
                                     ^
     # ./app/views/layouts/application.html.erb:34:in `compile'
     # ./spec/requests/static_pages_spec.rb:8

  5) Static pages Home page should not have a custom page title
     Failure/Error: visit '/static_pages/home'
     ActionView::Template::Error:
       compile error
       /Users/admin/rails_projects/sample_app/app/views/layouts/application.html.erb:16: syntax error, unexpected tSTRING_BEG, expecting ')'
       ...nk_to "sample app", '#', :id "logo" );@output_buffer.safe_co...
                                     ^
     # ./app/views/layouts/application.html.erb:34:in `compile'
     # ./spec/requests/static_pages_spec.rb:19

  6) Static pages Contact page should have the h1 'Contact'
     Failure/Error: visit '/static_pages/contact'
     ActionView::Template::Error:
       compile error
       /Users/admin/rails_projects/sample_app/app/views/layouts/application.html.erb:16: syntax error, unexpected tSTRING_BEG, expecting ')'
       ...nk_to "sample app", '#', :id "logo" );@output_buffer.safe_co...
                                     ^
     # ./app/views/layouts/application.html.erb:34:in `compile'
     # ./spec/requests/static_pages_spec.rb:55

  7) Static pages Contact page should have the title 'Contact'
     Failure/Error: visit '/static_pages/contact'
     ActionView::Template::Error:
       compile error
       /Users/admin/rails_projects/sample_app/app/views/layouts/application.html.erb:16: syntax error, unexpected tSTRING_BEG, expecting ')'
       ...nk_to "sample app", '#', :id "logo" );@output_buffer.safe_co...
                                     ^
     # ./app/views/layouts/application.html.erb:34:in `compile'
     # ./spec/requests/static_pages_spec.rb:60

  8) Static pages Help page should have the h1 'Help'
     Failure/Error: visit '/static_pages/help'
     ActionView::Template::Error:
       compile error
       /Users/admin/rails_projects/sample_app/app/views/layouts/application.html.erb:16: syntax error, unexpected tSTRING_BEG, expecting ')'
       ...nk_to "sample app", '#', :id "logo" );@output_buffer.safe_co...
                                     ^
     # ./app/views/layouts/application.html.erb:34:in `compile'
     # ./spec/requests/static_pages_spec.rb:27

  9) Static pages Help page should have the title 'Help'
     Failure/Error: visit '/static_pages/help'
     ActionView::Template::Error:
       compile error
       /Users/admin/rails_projects/sample_app/app/views/layouts/application.html.erb:16: syntax error, unexpected tSTRING_BEG, expecting ')'
       ...nk_to "sample app", '#', :id "logo" );@output_buffer.safe_co...
                                     ^
     # ./app/views/layouts/application.html.erb:34:in `compile'
     # ./spec/requests/static_pages_spec.rb:32

Finished in 0.20551 seconds
9 examples, 9 failures

Failed examples:

rspec ./spec/requests/static_pages_spec.rb:40 # Static pages About page should have the h1 'About Us'
rspec ./spec/requests/static_pages_spec.rb:45 # Static pages About page should have the title 'About Us'
rspec ./spec/requests/static_pages_spec.rb:12 # Static pages Home page should have the base title
rspec ./spec/requests/static_pages_spec.rb:7 # Static pages Home page should have the h1 'Sample App'
rspec ./spec/requests/static_pages_spec.rb:18 # Static pages Home page should not have a custom page title
rspec ./spec/requests/static_pages_spec.rb:54 # Static pages Contact page should have the h1 'Contact'
rspec ./spec/requests/static_pages_spec.rb:59 # Static pages Contact page should have the title 'Contact'
rspec ./spec/requests/static_pages_spec.rb:26 # Static pages Help page should have the h1 'Help'
rspec ./spec/requests/static_pages_spec.rb:31 # Static pages Help page should have the title 'Help'

Извините, если я не предоставил всю необходимую информацию. Я не совсем уверен, в чем проблема.

1 ответ

Ошибка связана с использованием хэшей в стиле 1.9. Вам необходимо изменить ссылки на использование хэшей в стиле 1.8 следующим образом:

link_to "sample app", '#', :id => "logo"
Другие вопросы по тегам