1

私はhas_manyとhas_manyを持っています:このような関係を通して...

class Guestlist < ActiveRecord::Base
    belongs_to :venues

    has_many :patrons
    has_many :users, :through => :patrons

    attr_accessible :capacity, :end_time, :name, :start_time, :venue_id
end

class Patron < ActiveRecord::Base
    belongs_to :guestlists
    belongs_to :users
    attr_accessible :guestlist_id, :user_id, :checked_in
end

class User < ActiveRecord::Base
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

  attr_accessible :name, :email, :password, :password_confirmation, :remember_me

  has_many :patrons
  has_many :guestlists, :through => :patrons
end

ゲストリストオブジェクトを「介して」ユーザーにアクセスしようとしています...

@guestlist = Guestlist.find(params[:id])
@guests = @guestlist.users.order('name ASC')

そして、次のエラーがスローされます。

NoMethodError (undefined method `scoped' for Users:Module)

私は解決策を探し続けてきましたが、何も機能しません。助けてください!

4

1 に答える 1

2

Model の関連付けに問題があるようPatronです。特異users化してguestlists. 詳しくはこちらを参照

class Patron < ActiveRecord::Base
    belongs_to :guestlist 
    belongs_to :user
    attr_accessible :guestlist_id, :user_id, :checked_in
end
于 2012-11-07T03:44:40.313 に答える