Вот моя проблема. У меня есть несколько пользователей с несколькими подписками каждый, и я хочу авторизовать метод индекса подписки с Pundit. Мой routes.rb:Cant разрешает вложенные ресурсы с помощью Pundit
resources :users do resources : subscriptions end
Давайте предположим, что я пользователь с идентификатором . Что мне нужно, чтобы получить список подписок, когда я открываю /users/1/subscriptions
и ошибки доступа Pundit, когда я открываю /user/2/subscriptions
Вот мой subscriptions_controller.rb
SubscriptionController < ApplicationController def index @user = User.find(params[:user_id]) @subscriptions = @user.subscriptions authorize @subscriptions end end
я могу сделать authorize @user, :subscriptions_index
, но он просто чувствует себя неправильно писать правила пользователя для аутентификации подписки. Как мне подойти к этой проблеме? Заранее спасибо.
Спасибо за предложение, но, как вы отметили, что это не самый эффективный – kabukiman
Если вы ищете наиболее эффективным, то вы должны изменить ваш вопрос просить об этом. – nikkon226
@ nikkon226 Что делать, если у пользователя нет подписки? Разве эта политика не позволяет вам пройти путь в этом случае? –