在ASP.NET中,当我想向视图层发送模型实例列表时,我通过以下代码将它们转换为另一种类型(ModelView):
var userViewModels = users.select(new {
Name = Name,
UserName = Username
});
我这样做是因为我不想将所有用户模型数据(如密码)发送到视图层。我将此代码放在我的业务逻辑层中。
我正在使用AJAX,我正在通过JSON协议发送数据。 Ruby on Rails中执行类似操作的最佳做法是什么?
答案 0 :(得分:1)
在RoR中,您只需将模型传递给您的视图。
此外,RoR中的视图可以直接从数据库访问(尽管不推荐)模型。所以"隐藏"这里的模型没有意义。
您可以将rails生成的脚手架视为接近最佳实践。
答案 1 :(得分:0)
虽然可能不需要as dimakura pointed out,但您可以在使用select method查找时选择任意属性。你的例子最终会看起来像:
@users = User.select(:name, :username)