Моя цель здесь - напечатать список пользователей из указанного города и категории с их именами, адресом и названием клуба. Имя и адрес отображаются правильно, но когда я добавляю название клуба, появляется сообщение undefined method memberships for #<Enumerator:0xa5509b0>
. Я знаю, что это потому, что клуб в другой модели, так что вопрос в том, как я могу получить доступ к названию клуба? Я действительно мелкий в сложных has_many realtionships. Может кто-нибудь сделать необходимые исправления, пожалуйста, это, как далеко я получил. Спасибо заранее
МОДЕЛЬ
class User < ActiveRecord::Base
has_many :memberships
has_many : clubs,:through =>:memberships
belongs_to :category
belongs_to :city
end
class Club < ActiveRecord::Base
has_many :users
has_many :memberships
has_many : users ,:through =>:memberships
belongs_to :city
end
class Membership < ActiveRecord::Base
belongs_to :user
belongs_to :club
end
class City < ActiveRecord::Base
has_many :clubs
has_many :users
end
class Category < ActiveRecord::Base
has_many :users
end
CONTROLLER
@users=User.where("category_id =? AND city_id=?",Category.find(2),session[:city_id])
@user=@users.collect
@club=@user.memberships #this gives undefined method membership
VIEW
<% @user.each do |user| %>
<%= user.username %>
<%= user.address %>
<%= @club.name %> #attribute name is in the club model not membership
<%end%>
ROUTE
devise_for :users
resources :city,:club,:category