2016-07-03 4 views

답변

1

먼저 오류를 얻을 CI 레일에 Restoraan.kichen 작업을 수행 할 때

는 Restoraan.rb

class Restoraan < ActiveRecord::Base 
    has_many :kichens 
    has_many :atmospheres 
    has_many :resto_imgs 
    accepts_nested_attributes_for :resto_imgs, :kichens, :atmospheres 
    #serialize :resto_type, :restoKitchen 
end 

Kichen.rb는

class Kichen < ActiveRecord::Base 
    belongs_to :restoraan, dependent: :destroy 
end 

, 당신의 인스턴스를 필요 Restoraan. 따라서 어느 하나를 만들거나 Restoraan.first.kichens과 같은 기존의 데이터베이스를 가져와야합니다 (데이터베이스에 Restorran 개체가 있다고 가정).

has_many 연관으로 정의한 것처럼 복수를 주목하십시오. 또한 Restoraan의 인스턴스에서 호출해야합니다.

보기의 경우 @kichens 인스턴스 변수에는 배열과 매우 비슷한 역할을하는 ActiveRecord::Associations::CollectionProxy이 포함됩니다. 그런 다음보기에서 이것을 반복하여 Kichen 객체의 속성을 표시 할 수 있습니다.

<% @kichens.each do |kichen| %> 
    <p><%= kichen.some_kichen_property %></p> 
    <p><%= kichen.some_kichen_property %></p> 
    <% end %> 
+0

내가했던 \t restoraans_controller의 show 액션에 오류가 계속 당신이에 그 문이 와서 어떻게 – KristjanT

+1

남아 [@kichens = Restoraan.first.kichens.where ("활성 = 1")] \t '[]'배열 괄호? 또한 동일한 오류가 발생합니까? 'NoMethodError : 정의되지 않은 메소드 'kichen'for # '? – treiff

+0

내가 코멘트에 코드를 표시하는 방법을 모르겠다는 것에 대해 유감스럽게 생각합니다. 주석을 붙여 넣을 수 없기 때문에 [] 중괄호를 넣었습니다. – KristjanT