Я ожидал, что этот код вернется красным, потому что часть заголовка представления оценивается как "Home | Ruby в учебном приложении Rails Tutorial". Но на самом деле, зеленый был возвращен. С другой стороны, заглавная часть представления, которого ожидает спецификация, - «Ruby в учебном приложении Rails Tutorial Sample». Я не знаю, почему это произойдет.
приложение. html .haml - это обычный макет.
!!! 5
%html
%head
%title
= full_title(yield(:title))
= csrf_meta_tags
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload'
= javascript_include_tag 'application', 'data-turbolinks-track': 'reload'
%body
= yield
home. html .haml - просмотр содержимого
= provide(:title, "Home")
%h1 Sample App
%p
This is the home page for the
%a{href: 'https://railstutorial.jp/'} Ruby on Rails Tutorial
sample application.
module ApplicationHelper
def full_title(page_title = '')
base_title = 'Ruby on Rails Tutorial Sample App'
base_title if page_title.empty?
page_title + ' | ' + base_title
end
end
spe c код
RSpec.describe 'static_controller', type: :system do
before do
@base_title = 'Ruby on Rails Tutorial Sample App'
end
describe 'Home' do
it 'check title' do
visit root_url
expect(page).to have_title @base_title.to_s
end
end
end