Сделал так может кому пригодится
Запилил свой RegistrationController который ссылается на Devise
ну и если у кого нить больше nested attribustes (у меня один)
соответственно
post = resourse.posts.second и так далее
class RegistrationsController < Devise::RegistrationsController
def create
build_resource(sign_up_params)
resource_saved = resource.save
yield resource if block_given?
if resource_saved
if resource.posts.present?
post = resource.posts.first
flash[:success] = "Поздравляем Ваше сообщение опубликованно!"
User.includes(:categories, :roles).references(:categories, :roles).where(categories: {id: post.category_id}, roles: { id: 4 }).pluck(:email).each do |email|
PostsMailer.delay.deliver_posts_register(email, post)
end
end
if resource.active_for_authentication?
set_flash_message :notice, :signed_up if is_flashing_format?
sign_up(resource_name, resource)
respond_with resource, location: after_sign_up_path_for(resource)
else
set_flash_message :notice, :"signed_up_but_#{resource.inactive_message}" if is_flashing_format?
expire_data_after_sign_in!
respond_with resource, location: after_inactive_sign_up_path_for(resource)
end
else
clean_up_passwords resource
@validatable = devise_mapping.validatable?
if @validatable
@minimum_password_length = resource_class.password_length.min
end
respond_with resource
end
end
end