Loading data in controllers
To load data, you can see the gem Cancan. It think it can do something like you do. I find your code very clear.

Instead of this:

if !organisation.nil?


You can do this:

if organisation.present?


Instead of this:

@categories = Category
  .where(organisation_id: organisation.id)
  .order(:name)
  .all


You can do this:

organisation.categories.order(:name)


Instead of using the method find_by_id you can use just the method find.

You did a good job!