Проблема с сохранением новой модели в rails

Столкнулся на ровном месте с очередной магией рельсов, модель упорно отказывалась сохраняться с ошибкой ActiveModel::ForbiddenAttributesError.

Несмотря на то, что все правила с разрешением strong params я соблюдал, вот небольшой кусочек трейса:

ActiveModel::ForbiddenAttributesError - ActiveModel::ForbiddenAttributesError:
  activemodel (4.2.3) lib/active_model/forbidden_attributes_protection.rb:21:in `sanitize_for_mass_assignment'
  activerecord (4.2.3) lib/active_record/attribute_assignment.rb:33:in `assign_attributes'
  activerecord (4.2.3) lib/active_record/core.rb:564:in `init_attributes'
  activerecord (4.2.3) lib/active_record/core.rb:281:in `initialize'
  activerecord (4.2.3) lib/active_record/inheritance.rb:61:in `new'
  cancancan (1.13.1) lib/cancan/controller_resource.rb:80:in `build_resource'

Как оказалось проблема была в load_and_authorize_resource так как создаётся новая модель, но права к ней не успевают примениться, поэтому это можно решить 2 способами:

1.Авторизовать вручную, прописав в котроллере:

load_and_authorize_resource except: [:create]

а в методе create прописать

authorize! :create, @post

2.Либо использовать идеалогически правильное решение с соглашением по именованию методов, то есть создать метод с именем [model]_params, например для модели Post будет такой метод:

def post_params
  params.require(:post).permit!
end