HTML表单命名约定的名称

时间:2010-01-26 20:59:21

标签: ruby-on-rails cakephp naming-conventions theory cakephp-1.2

在Rails和CakePHP1.2中,表单往往包含名称如下的输入元素:

<input name="comment[author]" />

“name”属性中使用的符号是否有正式名称?

同样,在CakePHP1.1中,我确实认为同样如下:

<input name="comment/author" />

同样,“name”属性中使用的符号是否有正式名称?

3 个答案:

答案 0 :(得分:4)

在Rails中,这被称为表格微格式(至少有些人称之为)。许多不同的框架似乎正在标准化第一种格式。我想像CakePHP已经更新了他们的库以符合该标准。有an obsessively in-depth explanation可用,只有一点Rails特定。最初的微格式显然来自PHP。

答案 1 :(得分:1)

在cake php中,命名方案是多维数组访问格式,虽然我不确定你称之为什么。多维数组键控?

official php docs将其称为“方括号”

基本上,我不确定cakephp是否有特定的名称...这是因为它只是键控数组访问的“括号表示法”。

Here's an example from the cakephp docs。它说明了cakephp中带括号表示法的命名元素,以及如何使用它来预先填充值。

使用cake php FormHelper我们创建一个隐藏的id字段:

echo $this->Form->hidden('id'):

这将输出以下内容:

<!-- data comes from $this->request->data -->
<input name="data[User][id]" id="UserId" type="hidden" />

假设data[User][id]持有的值为10,ID为UserId的输入的值为10.

答案 2 :(得分:0)

在Rails中,分配给表单元素中name属性的字符串值作为params[]哈希中的哈希值传递给Controller,由key索引。

<input name="username"/>

将在控制器中显示为params[:username]

<input name="user[name]"/>

将在控制器中显示为params[:user][:name]

等等。如果您想了解有关如何生成这些内容以及期望内容的更多信息,请参阅ActionView和ActionController文档。

这是指向ActionController overview的链接,这是一个很好的指南。