У меня есть 2 модели: User и Group, у них есть ассоциация «многие ко многим» через третью модель, называемую GroupMembership. Таким образом, пользователь может быть членом многих групп, а группа может иметь много пользователей.
когда я нахожусь в консоли rails, все работает нормально, и я могу видеть группы пользователей, делая это
user1 = User.find_by(last_name: "Smith")
user1.groups
Однако я пытаюсь создать новый шаблон с именем mygroups.html.erb, и у меня возникает проблема с отображением результатов.
Я настраиваю собственный маршрут
get 'mygroups' => 'users#mygroups'
затем я сделал шаблон mygroups.html.erb в представлении «Пользователи».
<div class="container-fluid">
<div class="col-md-8 offset-md-2 col-sm-12">
<% if @user.present? %>
<h5>Groups</h5>
<ul>
<% @user.each do |user| %>
<li>
<%= user.groups %>
</li>
<% end %>
</ul>
<% end %>
</div><!--./col-->
</div><!--./container-->
В user_controller я подумал, что мне придется сделать что-то подобное, чтобы получить объект @user
def mygroups
@user = User.find(params[:id])
# @groups = @user.groups
end
но я получаю следующую ошибку. Объект @user равен нулю.
ActiveRecord::RecordNotFound in UsersController#mygroups
Couldn't find User with 'id'=