Я пытаюсь отобразить список пользователей на странице html .erb, но получаю сообщение об ошибке, что пользовательская переменная не определена.
Насколько я понимаю, для представления необходимо использовать @users переменную, которую необходимо вызвать в контроллере, который связан с маршрутом представления. Я пробовал это ниже, но мне кажется, что я неправильно называю контроллер (и, следовательно, метод индекса, который определяет @users). Как мне go исправить это, чтобы частичное отображение отображалось со списком пользователей?
просмотров / страниц / контактов. html .erb:
<table class='table table-condensed'>
<thead>
<tr>
<th>Email</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<%= render 'contact', collection: @users, as: :user %>
</tbody>
</table>
просмотров / страниц / _contact. html .erb:
<%= content_tag :tr, id: dom_id(user) do %>
<td><%= user.email %></td>
<td>
<%= link_to 'Add Contact', [:new, :contactship, id: user], remote: true unless current_user.has_contactship?(user) %>
<%# or link_to 'Add Contact', new_contactship_path(id: user), remote: true %>
<%= link_to 'Accept Request', [:contactships, id: user], method: :post, remote: true if current_user.requested_contacts_with?(user) %>
<%= link_to 'Remove Request', [:contactship, id: user], method: :delete, remote: true if current_user.pending_contacts_with?(user) %>
<%= link_to 'Remove Friend', [:contactship, id: user], method: :delete, remote: true if current_user.contacts_with?(user) %>
</td>
<% end %>
routes.rb:
Rails.application.routes.draw do
resources :posts
resources :contactships, only: [:new, :create, :destroy]
devise_for :users
authenticated :user do
root "pages#my_circles", as: :authenticated_root
get "/app/views/pages/to_post.html.erb", to: "pages#to_post", as: "to_post"
get "/app/views/pages/my_vault.html.erb", to: "pages#my_vault", as: "my_vault"
get "/app/views/pages/my_settings.html.erb", to: "pages#my_settings", as: "my_settings"
get "/app/views/pages/contacts.html.erb", to: "pages#contacts", as: "contacts" #THIS ROUTE
end
root 'pages#home'
namespace :api, defaults: { format: :json } do
namespace :v1 do
resources :circles, only: [:index, :show, :create, :update, :destroy]
end
end
end
controllers / pages_controller.rb:
class PagesController < ApplicationController
def index
@users = User.all
end
Спасибо!