1

まず、いくつかのコードを示します。

class User
  has_and_belongs_to_many :roles
  named_scope :employees, { :conditions => ["roles.name = 'Employee'"], :include => :roles }
end

OK、後でコントローラーで、すべての従業員を正しく検索したいと思いました。結合と条件付き検索でそれを行うのに役立つように、名前付きスコープを設定しました。しかし、問題はそのユーザーの役割をすべて表示したいビューにありますが、従業員の役割のみが表示されます。

とにかく、「user.roles」と言って、既に熱心にロードした後にビューに遅延ロードすることはできますか?

4

1 に答える 1

2

habtm(および)のドキュメントにhas_manyは、オプションのパラメーターを使用してコレクションにアクセスできると記載されています。

コレクション (force_reload = false)

関連するすべてのオブジェクトの配列を返します。何も見つからない場合は、空の配列が返されます。

でロールをリロードできますuser.roles(true)

于 2009-05-23T18:47:23.060 に答える