どこのコントローラビューとレイアウトの両方でグローバルにアクセスできるようにするための変数(コレクション)を定義する必要がありますか?アプリケーションコントローラのどこか、またはセッション中ですか?一例として レールのコレクションへのグローバルアクセス
if current_user.has_role("admin")
@groups=Group.all
else
@groups=Group.all(:conditions => {:hidden => false})
end
@groupsコレクションは、(他のすべてのコントローラのために、メニューに)レイアウトの両方でレンダリングするためにアクセス可能である必要があり、グループコントローラインデックスビューで
IIRC ApplicationHelper方法コントローラーから呼び出すことはできませんが、そうすることができます。これをApplicationControllerに追加してください: "ApplicationHelperを含める" – ryanb
うん - 私はそれを逃しました。 Ryanの修正に感謝します。 –
あるいは、ApplicationControllerにメソッドを持ち、ヘルパーを含めるのではなく、ApplicationControllerで "helper_method:membership"を呼び出します。 – Shadwell