Problem with HABTM relation

When I try to create some User with the POST below I received the following msg:

Completed 404 Not Found in 17005ms (Views: 1.7ms | ActiveRecord: 6.6ms).

I debugged a little and I find this error

Couldn’t find Shared::Category with ID=5 for Shared::User with ID=

I don’t know really what’s going on. I can’t create any user.

Thanks!

------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[username]"
asdasdasd
------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[first_name]"
asd
------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[last_name]"
asd
------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[email]"
asdasdad@tob.uy
------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[birth_date]"
Wed Apr 01 2015 00:00:00 GMT-0300 (ART)
------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[brand]"
false
------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[influencer]"
false
------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[inspirational]"
false
------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[gender]"
male
------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[avatar]"; filename="ic_launcher.png"
Content-Type: image/png
------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[categories_attributes][0][id]"
5
------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[categories_attributes][0][name]"
facebook
------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[categories_attributes][0][avatar]"
http://localhost:3000/uploads/shared/category/avatar/5/big_facebook.png.webp
------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[categories_attributes][1][id]"
7
------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[categories_attributes][1][name]"
tobuycat
------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[categories_attributes][1][avatar]"
http://localhost:3000/uploads/shared/category/avatar/7/big_ic_launcher.png.webp
------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[password]"
123123
------WebKitFormBoundaryZnTz2ebfP2GeXgF8
Content-Disposition: form-data; name="user[password_confirmation]"
123123
------WebKitFormBoundaryZnTz2ebfP2GeXgF8--

Clases (in shared module)

class User < ActiveRecord::Base
    has_and_belongs_to_many :categories, class_name: 'Shared::Category', join_table: "categories_users"
    accepts_nested_attributes_for :
categories
class Category < ActiveRecord::Base
    self.table_name = :
    categories
has_and_belongs_to_many :users, class_name: 'Shared::User', join_table: "categories_users"
    accepts_nested_attributes_for :users

Controller:

def create
user = Shared::User.new(user_params)
    user.created_by = staff_from_token
location = user.save ? v1_private_user_url(user) : nil
    respond_with(user, location: location, serializer: Private::UserSerializer)
end

Serializers

module Shared
  class CategorySerializer < ActiveModel::Serializer
    attributes :name, :id, :avatar, :    avatar_thumb
def avatar_thumb
Rails.env.test? ? object.avatar.url : object.avatar.thumb_webp.    url
end
    def users
object.users.order(name: :asc)
    end
    def avatar
Rails.env.test? ? object.avatar.url : object.avatar.big_webp.    url
end
  end
end

module Shared
  class UserSerializer < ActiveModel::Serializer
    attributes :first_name, :last_name, :email, :gender, :username, :inspirational,
               :location, :brand, :influencer, :birth_date, :avatar, :avatar_thumb, :id,
               :facebook_uid, :    categories
def avatar_thumb
Rails.env.test? ? object.avatar.url : object.avatar.thumb_webp.    url
end
    def avatar
Rails.env.test? ? object.avatar.url : object.avatar.big_webp.    url
end
    def categories
object.categories.map do |category|
        CategorySerializer.new(category)
      end
    end
  end
end

Is there a category with ID 5? The parameters your form is submitting imply that there should be an already existing category with that id that is already associated with this user (which if the user is not new) is not possible. This is probably down to how you are building your form and what you are trying to do (in particular do you want a form that creates users & associated categories in one go or one that creates a user and associates a number of pre-existing categories with the user?)

Fred