我想构建一个在数据库中创建嵌套记录的Rails API。
我想要将数据发布到数据库中,用于nested或者使用has_ many关联来关联模型[参见下面的代码]。
**这是正确的方法吗?**或者对于update
操作是否有其他方法?我想记录用户Address
,它将以json格式出现在散列数组中。
我有两个模型User
和Address
。关联是User
有_许多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
2条答案
按热度按时间mftmpeh81#
这不是正确的方法,您应该使用
accepts_nested_attributes_for
有关更多详细信息和示例follow this
8zzbczxx2#
我想明白了,并为那些陷入困境的人写下了答案。
由于我没有使用强参数,并且只需要json格式的地址,我解析了地址
json
,如下所示: