publisher, book, chapter, user, permissions.Users are given permissions to a publisher. These permissions are an array of arbitrary strings.Books are directly related to a publisher, and chapter belong to the book directly, but not the publisher. publisher that's passed in as an argument for the changesets for both the book and chapter resources. I thought I could do something along the lines of authorize_if expr(has_create_permissions(actor, publisher, permissions)) but I'm having trouble figuring out where I should be defining the has_create_permissions function.