*解決したいこと
rspecで出てくるエラーを解決したいです。
*前提
railsでtwitterライクのアプリを制作していて、今はログイン~投稿のfeatureテストを行なっています。
*出てくるエラー
テストコードを書いてテストを実行すると以下のようなエラーが出ます。
iterm
ruby
1Failure/Error: = stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' 2 3 ActionView::Template::Error: 4 undefined method `[]' for nil:NilClass 5 # ./app/views/layouts/application.html.slim:8:in `_app_views_layouts_application_html_slim__1016673872440736597_70232207574280' 6 # ./spec/features/cities_spec.rb:8:in `block (2 levels) in <top (required)>' 7 # ------------------ 8 # --- Caused by: --- 9 # NoMethodError: 10 # undefined method `[]' for nil:NilClass 11 # ./app/views/layouts/application.html.slim:8:in `_app_views_layouts_application_html_slim__1016673872440736597_70232207574280' 12
*該当するコード
関連するコードは以下の通りです。
cities_spec.rb
ruby
1RSpec.feature "Cities", type: :feature do 2 given(:user) { 3 FactoryBot.create(:user) 4 } 5 it "login and post" do 6 visit login_path 7 fill_in 'Email', with: user.email 8 fill_in 'Password', with: user.password 9 click_on 'ログイン' 10 end 11end
application.html.slim
ruby
1doctype html 2html 3 head 4 title 5 = yield(:title) 6 = csrf_meta_tags 7 = csp_meta_tag 8 = stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' 9 = javascript_include_tag 'application', 'data-turbolinks-track': 'reload' 10 body 11 header 12 .container 13 .header 14 .title 15 h1 16 | Cities 17 .link 18 = header_link 19 = flash_msg 20 = yield
*試したこと
application.html.slimの8行目のapplicationをdefaultに変えたり、coffee-script-sourceをインストールしましたが解決しませんでした。
*環境
mac
ruby 2.6.3
rails 5.2.3
以上、もし分かる方いましたら、よろしくお願いします。
あなたの回答
tips
プレビュー