2016-07-03 9 views
-1

This error keeps displayingレール関連プロキシエラー

は、だから、私はこのエラーが現れている理由はわかりませんBELONGS_TO協会は、実際にhas_manyを行っています。

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.kichenを行うエラー

NoMethodError: undefined method `kichen' for #< Class:0x005648039a9038>

答えて

1

ファーストを取得し、CI、あなたがのインスタンスを必要としますRestoraan。だから、Restoraan.first.kichens(Restorranオブジェクトがdbに存在すると仮定)など、既存のものを作成する必要があります。

これは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

関連する問題