Oli*_*ier 2 json ruby-on-rails
我见过许多使用accepts_nested_attributes_for的例子,但是json POST/PUT只有少数几个,但没有一个帮助我:/
我的应用程序将用于创建表单.
因此,表单有许多form_rows,form_row可以有很多选择(如果它是一个选择的无线电).所以,我有这样的表单模型:
class Form < ActiveRecord::Base
attr_accessible :name
has_many :form_rows
accepts_nested_attributes_for :form_rows
end
Run Code Online (Sandbox Code Playgroud)
我的控制器看起来像这样:
def update
@form = Form.find(params[:id])
@form.update_attributes!(params[:form])
end
Run Code Online (Sandbox Code Playgroud)
这是我要发送的json
{
"name": "form test 4",
"form_rows_attributes": [
{
"domtype": "Input",
"label": "Super row new"
}
]
}
Run Code Online (Sandbox Code Playgroud)
在我的场景中,表单创建只接受一个名称,之后用户添加form_rows.
当我这样做时,名称已正确更新,但form_rows根本没有创建.我的控制台中没有错误,只是表单的UPDATE.
我究竟做错了什么?
您的JSON需要更多级别的嵌套,因此params[:form]调用实际上会找到参数:
{
"form": {
"name": "form test 4",
"form_rows_attributes": [
{
"domtype": "Input",
"label": "Super row new"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1758 次 |
| 最近记录: |