【发布时间】:2020-02-23 12:34:35
【问题描述】:
我希望这段代码返回红色,因为视图的标题部分计算为“主页 | Ruby on Rails 教程示例应用程序”。但实际上,绿色被退回了。 另一方面,规范所期望的视图的标题部分是“Ruby on Rails Tutorial Sample App”。我不知道为什么会这样。
application.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
规格代码
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
【问题讨论】:
标签: ruby-on-rails capybara rspec-rails