Я глубоко вложенные ресурсы ниже:Как получить соответствующие данные из глубоко вложенных ресурсов
resources :venues, shallow: true do
#Halls
get "hall/:id/exhibition" => "halls#exhibition", as: :exhibition
get "hall/:id/visit" => "halls#visit", as: :hall_visit
get "structure", :to => "venues#venue_structure"
resources :asset_types, :booths_tags, :tags, :uploaded_files, :events, :chats
resources :halls do
resources :webcasts
resources :booths do
resources :chats
end
end
end
Я хочу, чтобы получить все events
строки, принадлежащие определенному пользователю с помощью activerecord
Я попытался ниже, но это не кажется, не генерируя результаты, которые я хочу что данные события:
def all_events
@events = User.joins(:venues => [:events]).where("venues.user_id" => current_user.id).select("events.*, users.*")
render json: @events
end
Вышеприведенному:
{
users: [
{
id: 1,
email: "eeee",
title: "Mr",
first_name: "aaaa",
last_name: "cccc",
position: "Web Developer",
work_phone: "123456",
company: "aaasszz",
sign_in_count: 60,
last_sign_in_ip: "127.0.0.1",
confirmed_at: "2013-10-29T12:26:00.583+11:00",
created_at: "2013-10-29T12:23:25.453+11:00",
roles: [
3
]
},
{
id: 1,
email: "email",
title: "Mr",
first_name: "aaa",
last_name: "bbb",
position: "Web Developer",
work_phone: "123456",
company: "sss",
sign_in_count: 60,
last_sign_in_ip: "127.0.0.1",
confirmed_at: "2013-10-29T12:26:00.583+11:00",
created_at: "2013-10-29T12:23:25.453+11:00",
roles: [
3
]
}
]
}
Я хочу событие данных в формате JSON вместо ...
Я также использую активные модели сериализаторы.
Каков наилучший подход для решения этой проблемы?
Модель событий:
class Event < ActiveRecord::Base
resourcify
belongs_to :venue
validates :name, :start, :finish, presence: true
has_one :event_image, ->{where(:image_type => UploadedFile::IMAGE_TYPE_EVENT_IMAGE)}, as: :imageable, class_name: 'UploadedFile', dependent: :destroy
has_one :logo1, ->{where(:image_type => UploadedFile::IMAGE_TYPE_EVENT_LOGO1)}, as: :imageable, class_name: 'UploadedFile', dependent: :destroy
has_one :logo2, ->{where(:image_type => UploadedFile::IMAGE_TYPE_EVENT_LOGO2)}, as: :imageable, class_name: 'UploadedFile', dependent: :destroy
accepts_nested_attributes_for :event_image, :logo1, :logo2, :reject_if => proc { |attributes| attributes['assets'].blank? }
end
показать свою модель событий код, наряду с именами событий столбцов таблицы – beck03076
@ beck03076 Я только что обновил модель события –
, поэтому событие принадлежит к месту проведения, место принадлежит пользователю. Пользователь has_many Места проведения и события has_many. Ваш вход - идентификатор current_user. Итак, вы хотите, чтобы все события принадлежали объектам current_user ??? – beck03076