본질적으로 나는 Devise라는 앱을 가지고 있는데, 나는 사용자 모델과 의제 모델을 가지고있다. 의제 'belongs_to'사용자 및 사용자 'has_many "의제, 이들은 내 DB 관계입니다. 나는 IRB를 실행하고 db 데이터를 올바르게 가져올 수 있습니다. user = User.first user.agendas 나는 모든 게시물의 목록을 가져올 것입니다. 해당 사용자에게 로그인 할 때 내 문제가 발생합니다. 사용자가 home # index로 리디렉션되지만 집에서 NoMethodError가 발생합니다 # index undefined method 'agendas'for nil : NilClass 내가 누락 된 것 같습니다. 내 의제 컨트롤러에 인덱스 방법을 필요도? ..app/뷰/홈/index.html.erb정의되지 않은 메소드 'agendas'for nil : NilClass Actioncontroller?
<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
내 문제점을 파악했습니다 ... home.html.erb는 current_user.agendas.any가되어야합니다? – TheIrishGuy
하지만 일정 목록이 채워지지 않고 있고, 표시 코드에 문제가있는 사람은 누구입니까? – TheIrishGuy