RoR: как получить отдельные атрибуты отношения или коллекции - PullRequest
0 голосов
/ 21 марта 2020

Я хотел бы перечислить пользователей, на которых я подписан

Мои модели:

Relationship.rb

belongs_to :follower, class_name: "User"

User.rb

has_many :followers, through: :passive_relationships, source: :follower

На мой взгляд

<%= current_user.followers.collect { |follower| follower.username } %>

Это дает представление:

Following
["Lisa", nil, "Derek"] etc

Как я могу обычно перечислять этих пользователей в моем представлении, как это?

Lisa
Derek
etc...

1 Ответ

1 голос
/ 21 марта 2020

Конечно, это зависит от того, как вы хотите, чтобы оно отображалось. Но это довольно просто, например, если вы используете erb для рендеринга, вы можете сделать это с итерацией:

<% current_user.followers.pluck(:username).compact.each do |follower_username| %>
  <%= follower_username %>
  <br />
<% end %>

Обратите внимание, что я использовал AR pluck вместо map, что немного более эффективно и более идиоматично c в мире Rails, и я использовал compact, чтобы исключить nil значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...