2015-09-05 3 views
0

В ASP.NET, когда я хочу, чтобы отправить список экземпляров модели для просмотра слоя, преобразовать их в другой тип (видовой) следующий код:Преобразование экземпляра к другому типу, например

var userViewModels = users.select(new { 
    Name = Name, 
    UserName = Username 
}); 

Я делаю это, потому что я не хочу отправлять все данные моей модели пользователя (например, пароль) для просмотра слоя. Я помещаю этот код в свой бизнес-уровень Layer.

Я использую AJAX, и я отправляю свои данные по протоколу JSON. Какова наилучшая практика в Ruby on Rails для выполнения аналогичных действий?

ответ

0

Хотя это, вероятно, нет необходимости, as dimakura pointed out, вы можете выбрать произвольные атрибуты при поиске с помощью select method. Ваш пример будет выглядеть примерно так:

@users = User.select(:name, :username) 
+0

Из .net, вам может быть интересно https://github.com/bbatsov/rails-style-guide. Rails работает лучше всего после определенных соглашений. –

+0

Спасибо, Брэд. Я отправляю свои данные Json, и я должен сделать это преобразование. Это именно то, чего я хочу. –

+0

Добро пожаловать. Это смешно, но это не так уж много от вашего примера .net-кода. –

1

В RoR вы просто передаете модели своим взглядам.

Кроме того, просмотр в RoR может иметь прямой доступ (хотя и не рекомендуется) моделей из базы данных. Поэтому «сокрытие» моделей здесь не имеет смысла.

Вы можете считать, что рельсы, созданные эшафотом, находятся в непосредственной близости от лучших практик.

  1. Контроллер используется для выбора моделей из базы данных
  2. View используется для визуализации модели пользователю
  3. Модель является основным местом для хранения бизнес-логики
+0

Нет, я использую ajax, и я отправляю свои данные Json на клиентскую сторону. –

+0

Ответ JSON - вид в Rails тоже – dimakura

+0

Спасибо dimakura –

Смежные вопросы