2015-07-03 5 views
1

Я пытаюсь создать пользовательский регистр, используя две модели Пользователь и профиль, вложенные сильные параметры в одном контроллере. когда я отправляю параметр, я получаю эту ошибку неизвестным атрибутом 'profiles_attributes' для пользователя. и я не могу создать пользователя ни профиля:Rails - Nested Сильные параметры

class User < ActiveRecord::Base 
has_one :profile 
has_many :apartments 
has_many :session 

has_secure_password 
validates :email, presence: true, uniqueness: true 
validates :password, presence: true 

accepts_nested_attributes_for :profile 
end 


class Profile < ActiveRecord::Base 
belongs_to :user 
belongs_to :city 
has_many :profile_universities 
has_many :universities, through: :profile_universities 
has_many :profile_preferences 
has_many :preferences, through: :profile_preferences 
has_one :photo, :as => :imageable 
end 


class Api::V1::UserController < ApplicationController 
    before_action :user_params 
    def create_without_facebook 


    @user= User.new(user_params) 
    if @user.save 
     @profile = Profile.new(user_params[:profiles_attributes]) 

     render json: [@user, @profile] 
    else 
     render json: @user.errors, status: :unprocessable_entity 

    end 
    end 

    def user_params 
    params.require(:user).permit(:email, :password, profiles_attributes: [:first_name, :last_name, :birthday, :gender, :marital_status, :ocupation, :budget, :question, :about, :city]) 
    end 

end 

ответ

0

использование единственного числа profile_attributes, если это has_one

+0

Я сделал это изменение, пользователь был создан, но профиль не. это ответ: [{«id»: 55, «email»: «[email protected]», «password_digest»: «$ 2a $ 10 $ OZ1lvo7xXMVILl1uN3ArWePhUDuNOADR8Uve3ao9EY/f1MHu1vBQK», «created_at»: «2015-07-03T01: 44: 04.344Z " "updated_at": "2015-07-03T01: 44: 04.344Z"}, { "ID": нулевой, "first_name": нулевой, "last_name": нулевой, "День рождения": нулевой," пол ": нулевой," marital_status ": нулевой," занимаемая должность ": нулевой," бюджет ": нулевой," вопрос ": нулевой," о ": нулевой," user_id ": нулевой," CITY_ID ": нулевой," profile_universities_id» : null, "created_at": null, "updated_at": null}] –

+0

Кодирование в комментариях ужасно :( Если вы что-то пробовали, и это не сработало - можете ли вы переработать вопрос или задать новый вопрос (вы можете указать на него отсюда, если хотите). –

+0

Примечание: вам может потребоваться обновить несколько мест в вашем коде и, возможно, ваш шаблон формы, чтобы сделать эту работу - если все они использовали profiles_attributes ... –