我看到很多时间输入标记的名称属性中有方括号。它是什么以及为什么使用它?输入标记名称属性中的方括号
`input id="academy_name" name="academy[name]" size="30" type="text" />`
那么为什么name =“academy [name]”而不只是name =“academy”。
请帮忙!
我看到很多时间输入标记的名称属性中有方括号。它是什么以及为什么使用它?输入标记名称属性中的方括号
`input id="academy_name" name="academy[name]" size="30" type="text" />`
那么为什么name =“academy [name]”而不只是name =“academy”。
请帮忙!
一些服务器端框架,包括Ruby on Rails的名称,可以使用那种符号的为表明他们应该在单个服务器端对象(一个关联数组 - 例如map - 在Ruby on Rails的情况下)中构建数据。因此,例如,如果你有name =“user [email]”和name =“user [phone]”并提交了表单,那么在你的Ruby on Rails代码中,你将检索到一个用户对象来自请求,并且它将具有密钥电子邮件和电话。
好吧......谢谢Dipak! –
这是因为开发人员正在使用数组,因此他被包裹在[]
栏括号
在RoR的情况下,它不表示表单上的数组符号。它表明'name'属性属于'academy'对象。当表单回传时,它将'academy'对象中的属性映射到相应的属性。 –
回报率映射的型号名称中的模型的属性,所以,当你张贴的形式,你可以很容易地将它们分配,如:
Academy.create(params[:academy])
或
@academy = Academy.find(params[:id])
@academy.update_attributes(params[:academy]
(亦称质量分配)。
如果您检查academy
对象并将其发送到params
散列中的表单,您将看到它包含方括号中包含的每个元素的元素。
好吧明白了..谢谢Michael! –
它在学院哈希名wrape名称,所以当你做参数[:学院]它会给哟学院对象的所有属性 – Amar
哦知道了....感谢阿马尔:) –