【发布时间】:2017-11-09 05:50:37
【问题描述】:
我想构建一个 Rails API 来在数据库中创建嵌套记录。
我想为 nested 将数据发布到数据库中,或者说具有 has_ many 关联的关联模型 [参见下面的代码]。
这是正确的方法吗? 或者update 操作是否有任何替代方法?我想记录用户Address,这将是json格式的哈希数组。
我有两个型号User 和Address。
关联是User has_many Addresses。
我的更新操作:
def update
@user = User.find(id: params[:id])
if @user.update(first_name: params[:first_name],email: params[:email],phone: params[:phone],password: Time.now.to_i, gstin: params[:gstin],addresses)
@user.addresses.each do |a|
a.update_attributes(first_name: params['first_name'],last_name: params['last_name'],city: params['city'],state: params['state'],phone: params['phone'],zip: params['zip'],address: params['address'])
end
render json: @user, status: 200
else
render json: { errors: @user.errors }, status: 422
end
end
【问题讨论】:
-
你能公开你的 JSON 吗?不需要将用户的属性存储在 Address 对象中
-
其实 first_name,last_name 也是地址的属性 .my json 数据在创建用户时传入参数中。但地址以 json 格式出现。地址:[{“first_name”:“syed”,“last_name”:“shahid”,“state”:“Karnataka”,“city”:“Banglore”,“address”:“xyz 和asdf asdf asdf", "zip": "563101", "phone": "8880076601" }]
标签: ruby-on-rails json ruby api