CanCan, работа с вложенными условиями и новым действием - PullRequest
0 голосов
/ 04 декабря 2018

В моем приложении Rails 5 я использую CanCanCan.Мне было интересно, как правильно обращаться с новым действием и вложенными условиями.

Если у меня есть простое условие и я вызываю новое действие, оно инициирует объект с этим условием:

can :manage, Product, :discontinued => false

Что приводит к:

@product = Product.new(:discontinued => false)

https://github.com/ryanb/cancan/wiki/authorizing-controller-actions

Теперь, если у меня есть вложенные условия, такие как:

can :manage, Company, agency: { platform_id: user.platform_id }

CanCanCan, конечно, не может инициироватьс установленным агентством, но это все же может позволить мне создать новую компанию, где я затем выберу агентство и при создании проверю, принадлежит ли агенства platform_id пользователю.Это было бы идеальным поведением.Но вместо этого он даже не позволяет мне вызывать новый метод, но вызывает ошибку.

Я не думаю, что это так редко, когда работают с вложенными условиями и новым методом, но не может найти какую-либо информацию оэто во время моего обширного поиска.

...