ビュー内からActiveRecordモデルの遅延ロードされたプロパティにアクセスするにはどうすればよいですか?
カテゴリモデルに属するニュースモデルがあり、どちらもLazy=trueとマークされています
コントローラで次の手順を実行することで、ビューで遅延ロードされたプロパティにアクセスできます
using (new SessionScope())
{
results = _service.FindAllNews(start, pageSize, new[] { Order.Asc("Id") });
foreach (var result in results)
{
var category = result.Category;
}
}
return View(results);
次に、私のビューでは、結果を解析し、次のカテゴリタイトルを表示します
<%= Html.Encode(item.Category.Title) %>
明らかに、コントローラーでプロパティを参照しないと、ビューでプロパティを呼び出そうとすると、セッションスコープエラーが発生します。
しかし、これは私には間違っているようです。ビューに到達する前に、モデルの遅延ロードされたプロパティを初期化するためのより良い方法はありますか?モデルにInit関数を記述できると思いますが、それも不安定なようです。