输入框的 name 属性中出现的方括号含义是什么?

9

我经常看到在input标签的name属性中有方括号。这是什么意思,为什么要使用它?

   `input id="academy_name" name="academy[name]" size="30" type="text" />` 

那么为什么要写成name="academy[name]"而不只是name="academy"呢?

请帮忙解答!


它将名称包装在学院哈希中,因此当您执行param[:academy]时,它将为您提供学院对象的所有属性。 - Amar
2个回答

2

这是因为开发者正在使用数组,因此他在名称外部加上了[]方括号。


3
在 RoR 中,它不会在表单上指示数组符号。它表示 name 属性属于 academy 对象。当表单被提交时,它将 academy 对象中的属性映射到相应的属性。 - Michael Shimmins

0

RoR将模型的属性映射到模型名称中,因此当您提交表单时,可以轻松地分配它们,例如:

Academy.create(params[:academy])

或者

@academy = Academy.find(params[:id])
@academy.update_attributes(params[:academy]

(也称为批量赋值)。

如果您检查发送到params哈希中的表单的academy对象,您将看到它具有每个方括号中包含的元素的元素。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接