У меня возникают проблемы с установкой этой связи между моими моделями.
У пользователя много вариантов проживания, а в номерах одного пользователя.
В местах размещения много уведомлений, а в уведомлениях - одно место размещения..
У запросов много уведомлений.
Как я могу сделать так, чтобы я мог получить все запросы для данного пользователя (то есть, Пользователь -> Размещение (каждый) -> Уведомление)-> Запрос)?
Обновление:
Вот мой текущий файл контроллера:
class PanelController < ApplicationController
before_filter :login_required
def index
@accommodations = current_user.accommodations.all
@requests = Array.new
@accommodations.each do |a|
a.notifications.each do |n|
@requests << Request.where('id' => n.request_id)
end
end
end
end
И модели:
модели / user.rb
class User < ActiveRecord::Base
[snip]
has_many :accommodations
has_many :notifications,
:through => :accommodations
end
модели / размещение.rb
class Accommodation < ActiveRecord::Base
validates_presence_of :title, :description, :thing, :location, :spaces, :price, :photo
attr_accessible :photo_attributes, :title, :description, :thing, :location, :spaces, :price
has_one :photo
has_many :notifications
belongs_to :user
accepts_nested_attributes_for :photo, :allow_destroy => true
end
модели / уведомления.rb
class Notification < ActiveRecord::Base
attr_accessible :accommodation_id, :request_id
has_one :request
belongs_to :accommodation
end
models / request.rb
class Request < ActiveRecord::Base
belongs_to :notifications
attr_accessible :firstname, :lastname, :email, :phone, :datestart, :dateend, :adults, :children, :location, :status
validates_presence_of :firstname, :lastname, :email, :phone, :datestart, :dateend, :children, :adults, :location
end