2012-10-12 5 views
8

入力タグのname属性に大括弧があります。何のために、なぜそれが使われているのですか?入力タグの名前属性の角括弧

名前= "academy"だけでなく、なぜ名前= "academy [name]"なのか。

助けてください!

+0

それはあなたがparam [:アカデミー]をするとき、アカデミーオブジェクトのすべての属性を与えるでしょう – Amar

+0

ああああ....ありがとうアマール:) –

答えて

10

一部のサーバー側のフレームワーク、で名前をラップしているためである彼らがする必要があること単一のサーバ側オブジェクト(連想配列、例えばRuby on Railsの場合のマップ)にデータを構築します。たとえば、Ruby on Railsでは、name = "user [email]"とname = "user [phone]"があり、フォームを送信した場合、サーバー上のRuby on Railsコードでは、要求からのオブジェクトであり、その上に電子メールと電話のキーがあります。

Academy.create(params[:academy]) 

または

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

(としても知られている:あなたはフォームを投稿するとき、あなたのような、簡単にそれらを割り当てることができるように

+0

それを得ました...ありがとうDipak !! –

1

指標として表記のその種を使用し、開発者は、アレイを使用している、したがって、彼はRuby on Railsを含む[]バーブラケット

+3

RoRの場合は表示されませんフォーム上の配列表記法。 'name'属性が' academy'オブジェクトに属していることを示します。フォームがポストバックされると、 'academy'オブジェクトの属性がそれぞれの属性にマップされます。 –

0

RoRのは、モデル名内のモデルの属性をマップします質量割り当て)。

paramsハッシュのフォームに送信されたacademyオブジェクトを検査すると、角括弧に含まれる各要素の要素があることがわかります。

+0

ええ、それを得ました。マイケルに感謝します! –