/ / हैम_ के साथ कामिनी के साथ पगलों को खींचना: रिश्ते के माध्यम से - रूबी-ऑन-रेल्स, रूबी-ऑन-रेल्स -3, पृष्ठांकन, कामिनी

हैमिनरी के साथ कामिनरी के साथ रेल अंकन: रिश्ते के माध्यम से - रूबी-ऑन-रेल, रूबी-ऑन-रेल -3, अंकन, कामारीरी

मेरे पास तीन प्रासंगिक मॉडल हैं। एक उपयोगकर्ता जो has_many :photos तथा belongs_to :dorm, एक डॉर्म जो has_many :users तथा has_many :photos, :through => :users, और एक फोटो क्लास जो belongs_to :users तथा belongs_to :dorm.

मैं उन सभी तस्वीरों को पृष्ठांकित करना चाहता हूं जो कि कामिनी के साथ एक छात्रावास में हैं। मैं इसे अपने जेमफाइल में रखता हूं और बंडल कमांड चलाता हूं।

मेरे dorms_controller में:

@dorm=Dorm.find(params[:id])
@photos=@dorm.photos.page(params[:page]).per(3)

और मेरे डॉर्म शो दृश्य में (वास्तव में एक आंशिक, _index.html.erm शो में प्रस्तुत किया गया):

<%= paginate @photos %>

यह मुझे त्रुटि देता है: undefined method "page" for #<Class:0x107483d68>.

मुझे पता है कि यह काम क्यों नहीं करता है (एक वर्ग पर नहीं बुलाया जाना चाहिए), लेकिन मुझे नहीं पता कि इसे कैसे बनाया जाए ...

उत्तर:

उत्तर № 1 के लिए 1

घंटा, अजीब। वह काम करना चाहिए। मैंने वास्तव में एक वैनिला ऐप बनाया था, जिसमें आपने ऊपर और निम्न मॉडल दिखाए थे, लेकिन मैं त्रुटि को पुन: उत्पन्न नहीं कर सका।

class Dorm < ActiveRecord::Base
has_many :users
has_many :photos, :through => :users
end

class User < ActiveRecord::Base
belongs_to :dorm
has_many :photos
end

class Photo < ActiveRecord::Base
belongs_to :user
end

आपके ऐप कोड में एक और मूल कारण होना चाहिए। तो, क्या आप समस्या को थोड़ा और ट्रैक कर सकते हैं? आरंभ करने के लिए, निम्न कोड आपके रेल कंसोल में काम करता है?

@dorm.photos.page(1)

उत्तर № 2 के लिए -1
  1. आपके रत्न में रत्न "कामिनी" है?
  2. अपने Gemfile को बदलने के बाद बंडल चलाएँ