Из того, что я прочитал с помощью области в Rails, более эффективно, так как ваш запрос модели напрямую в отличие от переменной экземпляра, которая проходит через контроллер к модели (как я ее вижу?)Сфера или переменная экземпляра
Так у меня есть этот запрос в мой контроллер
@animal_location = User.select(:town).map(&:town).uniq
["Cardiff", "Newport"]
, а затем эта сфера в моей модели
scope :uniq_towns, ->() {
select("town").group("town")
}
#<ActiveRecord::Relation [#<User id: nil, town: "Cardiff">, #<User id: nil, town: "Newport">]>
на мой взгляд, чтобы получить доступ к значению города, используя @animal_location = User.select(:town).map(&:town).uniq
Я могу получить доступ как
<% @animal_location.each do |loc| %>
<%= loc %>
<% end %>
или если я использовал сферу и пошел с @animal_location = User.uniq_towns
, на мой взгляд, я хотел бы использовать
<% @animal_location.each do |loc| %>
<%= loc.town %>
<% end %>
Мой первый вопрос будет мой сфера будет быстрее в этом случае и во-вторых моя сфера правильно, как я получаю идентификатор пользователя: ноль как часть хэша
Спасибо
Я не думаю, что запросы с областью более эффективны, чем обычные запросы. Они просто требуют меньше ввода для вызова, когда это необходимо. – zwippie