基本的に、Devise を使用したアプリがあり、ユーザー モデルとアジェンダ モデルがあります。アジェンダ「belongs_to」ユーザーとユーザー「has_many」アジェンダ、これらは私のデータベース関係です。IRB を起動してデータベース データを正しく取得できます user = User.first user.agendas と、そのユーザーに属するすべての投稿のリストを取得しますサインイン時に問題が発生し、ユーザーは home#index にリダイレクトされますが、Home#index で NoMethodError が発生します nil:NilClass の undefined method `agendas' です 何か不足していると確信しています.私のアジェンダコントローラーも? ..app/views/home/index.html.erb
<h3>Home</h3>
<div class="row">
<div class="span8">
<% if @user.agendas.any? %>
<h3>Agendas</h3>
<ol class="agendas">
<%= render @agendas %>
</ol>
<% end %>
</div>
</div>
私のhome_controller.rb
class HomeController < ApplicationController
before_filter :authenticate_user!
def index
@agendas = current_user.agendas.paginate(page: params[:page])
end
私のアジェンダ コントローラには、将来のコード用に作成と破棄のスタブしかありません。そのモデル /agenda.rb
class Agenda < ActiveRecord::Base
attr_accessible :title
belongs_to :user
validates :title, presence: true, length: { maximum: 140 }
validates :user_id, presence: true
default_scope order: 'agendas.created_at DESC'
end