Нарисовалась проблема с вот этим правилом для постов:
can [:read, :subscribe, :unsubscribe], Post, :state => Post.states[:published], :deleted_at => nil
Потому что когда cancancan формирует запрос для accessible_by, то ему требуется код состояния, как в правиле и написано. А вот когда он проверяет authorize! :show, @post, то получает от метода state значение published и считает, что оно ни разу не равно Post.states[:published].
Нарисовалась проблема с вот этим правилом для постов:
Потому что когда
cancancan
формирует запрос дляaccessible_by
, то ему требуется код состояния, как в правиле и написано. А вот когда он проверяетauthorize! :show, @post
, то получает от методаstate
значениеpublished
и считает, что оно ни разу не равноPost.states[:published]
.После чего нужно убрать вот это безобразие: https://github.com/kimrgrey/rathole/commit/5c762da5c3e77bed1796f824298a6a5a90e06247