2017-04-04 1 views
0

나는 레일리스트에 사용자 목록을 허용하는 admin 모델을 구현했으며 관리자는 사용자를 삭제할 수 있습니다. 일부 사용자는 게시물을 작성했습니다. 제 문제는 제가 (관리자) 게시물을 작성한 사용자를 삭제 한 다음 게시물을 삭제할 때 오류가 발생합니다. "undefined method`name 'for nil : NilClass nil : NilClass. "레일에서 게시물과 연결된 사용자를 삭제 한 후 게시물 삭제

<% @reviews.each do |review| %> 
    <tr> 
    <td><%= review.user.name%></td> 
    <td><%= review.location %></td> 
    <td><%= review.program %></td> 
    <td><%= review.semester %></td> 
    <td><%= review.review %></td> 
    <td><%= link_to 'Show', review %></td> 
    <td><%= link_to 'Edit', edit_review_path(review) %></td> 
    <td><%= link_to 'Destroy', review, method: :delete, data: { confirm: 'Are you sure?' } %></td> 
    </tr> 
<% end %> 
+0

전체 오류 메시지와 문제와 관련된 코드를 추가하십시오. –

+0

그래서 <% = review.user.name %>을 추가했지만 제거하면 더 이상 오류가 발생하지 않지만 내 테이블에는 사용자 이름이 표시되지 않습니다. – roram

+0

데이터 제거에 사용중인 컨트롤러를 추가하십시오 , 아마도 당신이 그것을 삭제 한 후 동일한 사용자에게 액세스하려고 시도하고 있습니다. –

답변

0

게시물을 종속 파괴와 연관 시키십시오. 즉

사용자 모델

class User < ActiveRecord::Base 
    has_many :posts, dependent: :destroy 
end 

포스트 모델

class Post < ActiveRecord::Base 
    belongs_to :user 
end 

포스트는 자동으로 삭제됩니다.

관련 문제