1
belongs_to 관계가 계속 존재하지 않는 모델로 Ruby on Rails 앱에 문제가 있습니다. 다음과 같은 모델을 감안할 때 Rails에서 belongs_to 관계에 대해 nil이 발생하지 않는 이유는 무엇입니까?
: 이제class Chassis < ActiveRecord::Base
belongs_to :model
belongs_to :chassis_size
end
class Model < ActiveRecord::Base
has_many :chassis
end
class ChassisSize < ActiveRecord::Base
has_many :chassis
end
, 나는 모델과 chassis_size 데이터를 모두 주어진 볼 것이다 나의 섀시 인덱스 뷰에 기대 :
<% @chassis.each do |chassis| %>
<%= chassis.id %><br />
<%= chassis.model.name %><br />
<%= chassis.chassis_size.size %><br />
<% end %>
하지만 오류가 발생 chassis_size.size는 nil입니다.
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.size
데이터베이스의 데이터를 보면 올바른 것으로 보입니다.
왜 모델이 작동하지만 chassis_size가 작동하지 않는 지 잘 모르겠습니다. 내가 뭘 놓치고 있니? chassis_size 데이터가로드 된 것처럼 보이는 이유는 무엇입니까?
예, 크기는 열입니다. 나는 다른 이름으로 바꾸어야한다는 것을 인정합니다. ... BUT ... 나는 그 테이블에 대해서도 설명 열을 가지고 있으며 그 결과를 "정의되지 않은 메소드'nil : description '설명에 사용합니다 : NilClass"오류 – y0mbo
물론, 마이그레이션에서 키를 놓친 상태에서 데이터를 스크롤 할 때 NULL 값을 보지 못했습니다. 감사! – y0mbo
비슷한 문제가 있습니다 ...하지만 데이터가 맞다는 것이 확실합니다 .... "키를 놓친"것이 무엇을 의미합니까? 섀시 중 일부가 널이라는 것을 의미합니까? 아니면 크기 중 일부가 null입니까? 나를 위해, 내가 속한 대상의 클래스에 요청하면, 작동하지만, 그 대상의 속성을 요청하면, 그것은 nill 클래스라고합니다. – Jenny