Я пытаюсь создать объект из вложенного json. Но я получаю ошибку AssociationTypeMismatch. Я новичок в рубине на рельсах и не уверен, это правильный способ сделать это. Я благодарен за любые советы.
Ошибка появляется в этой строке "@ avatar.from_json (JSON)" в avatars_controller.rbAssociationTypeMismatch (Пользователь (# 301360) ожидается, получил Hash (# 88300)) в Rails
Avatar.rb
class Avatar < ActiveRecord::Base
has_one :user
accepts_nested_attributes_for :user
end
User.rb
class User < ActiveRecord::Base
belongs_to :avatar
end
js на
[
{
"id": 7,
"user": {
"id": 47,
"gender": "male",
"name": "Mark",
"created_at": "2015-01-07T11:44:50.991Z",
"updated_at": "2015-01-28T14:39:03.900Z"
},
"login_counter": 5,
"created_at": "2015-01-28T14:39:03.896Z",
"updated_at": "2015-03-03T12:11:43.432Z"
}
]
avatars_controller.rb
def get_data_button
json= open("http...").read
@avatar = Avatar.new
@avatar.from_json(json)
respond_to do |format|
if @avatar.save
format.html { redirect_to user_url }
else
format.html { render :new }
end
end
end
def avatar_params
params.require(:avatar).permit(:login_counter, user: [:gender, :name])
end
Где именно? –
изменить эту строку 'params.require (: avatar) .permit (: login_counter, user_attributes: [: пол,: name])' ... –
@DaveNewton Исключение появляется в этой строке «@ avatar.from_json (json)» – freshgrand