Rails: можно ли показывать пользователей с избранным столбцом на главной странице?Приходится ли отключать углификатор для чарткиков для работы на героку? - PullRequest
0 голосов
/ 07 декабря 2018

Routes.rb

devise_for :users, controllers: {
 registrations: 'users/registrations',
 sessions: 'users/sessions'
}

Контроллер пользовательских пользователей

def index
  @users = User.all
end 

def show
  @user = User.find(params[:id])
end

Home.html.erb

<% @users.each do |user| %>
  <div class="each-user">
    <ul class="user-details">
      <li><%= user.given_name %></li>
      <li><%= user.surname %> <%= advisor.given_name %></li>
      <li><%= user.company %></li>
      <li><%= user.intro %></li>
    </ul>
  </div>
<% end %>

В моей модели пользователя у меня есть столбецгде пользователь может быть представлен или не показан (булево) Как я могу изменить свой код, чтобы на моей домашней странице отображались все избранные пользователи?Нужно ли создавать ассоциацию для моей домашней страницы с моделью пользователя?Я знаю, что что-то упустил, но я не совсем уверен, что это такое, так как я продолжаю получать «неопределенный метод» каждый для nilNilClass, что будет означать, что я на самом деле не вызываю переменную @User, верно?

И еще один вопрос, если кто-то знает, что для развертывания моего приложения на heroku я должен закомментировать / отключить uglifier в production.rb, чтобы chartkick работал на рельсах 5.2.1. Есть ли способ решить эту проблему, или если uglifierдействительно нужно?

1 Ответ

0 голосов
/ 07 декабря 2018

На действиях контроллера домашней страницы вам нужно выбрать только тех пользователей, которые являются функцией.Вы уже отображаете переменную @users.Просто нужно получить правильные данные в @users.Вы можете запросить избранных пользователей по where(featured: true).

def index
  @users = User.where(featured: true)
end

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

Пользователь модели

scope :featured_users, -> { where(featured: true) }

Домашний контроллер

def index
  @users = User.featured_users
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...