ユーザーが受講できるコースと呼ばれるモデルがあり、その結果、私は@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>