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!
------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-Disposition: form-data;
name=“user[username]”
asdasdasd
------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-Disposition: form-data;
name=“user[first_name]”
asd------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-Disposition:
form-data; name=“user[last_name]”
asd------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-Disposition:
form-data; name=“user[email]”
removed_email_address@domain.invalid------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-Disposition:
form-data; name="user[birth_date]"Wed Apr 01 2015 00:00:00 GMT-0300
(ART)------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-Disposition:
form-data;
name="user[brand]"false------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-Disposition:
form-data;
name="user[influencer]"false------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-Disposition:
form-data;
name="user[inspirational]"false------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-Disposition:
form-data; name=“user[gender]”
male------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-Disposition:
form-data; name=“user[avatar]”; filename="ic_launcher.png"Content-Type:
image/png------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-Disposition:
form-data;
name="user[categories_attributes][0][id]"5------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-Disposition:
form-data; name=“user[categories_attributes][0][name]”
facebook------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-Disposition:
form-data; name=“user[categories_attributes][0][avatar]”
http://localhost:3000/uploads/shared/category/avatar/5/big_facebook.png.webp------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-Disposition:
form-data;
name="user[categories_attributes][1][id]"7------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-Disposition:
form-data; name=“user[categories_attributes][1][name]”
tobuycat------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-Disposition:
form-data; name=“user[categories_attributes][1][avatar]”
http://localhost:3000/uploads/shared/category/avatar/7/big_ic_launcher.png.webp------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-Disposition:
form-data;
name="user[password]"123123------WebKitFormBoundaryZnTz2ebfP2GeXgF8Content-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
endend
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
endend