未ログインユーザーはvisitorのRoleが割り当てられている。 しかし、BlockのPermission取得時にroles_room_idを検索条件にしている。 roles_room_idは、user_idがないため空。 結果、BlockのPermissionが取得されない。 block_role_permissionsテーブルのroles_room_idをrole_keyに変更して、 block_keyとrole_keyを条件に取得すると良いと思う。