0

ユーザーが受講できるコースと呼ばれるモデルがあり、その結果、私は@user.courses静的ページ ホームのビューで動作します。ただし、その結果、rspec テストでエラーが発生します。

コントローラ

class StaticPagesController < ApplicationController
  def home
    @user = current_user
    @courses = @user.courses
  end

end

Rspec エラー

1) Static pages should have the right links on the layout
   Failure/Error: visit root_path
   NoMethodError:
   undefined method `courses' for nil:NilClass
   # ./app/controllers/static_pages_controller.rb:4:in `home'
   # ./spec/requests/static_pages_spec.rb:55:in `block (2 levels) in <top (required)>'

Rspec スペック

require 'spec_helper'

describe "Static pages" do

  subject { page }

  describe "Home page" do

    before { visit root_path} <<<error here (rb:55)
  end
end

部分的に見る(うまくいく)

<div class="row">
 <div class="span8">
  <% if @courses.any? %>
  <ul class="courses">
    <%- @courses.each do |course| %>
    <%= link_to course.title, course_path(course) %>
    <%- end%>
     </ul>
   <% end %>
  </div>
</div>
4

1 に答える 1