2012-01-12 8 views
0

最初のフォームフィールドがm/d/yy形式を使い、datepickerが非表示の入力に適切なデータベース形式を入力するRailsアプリケーションで、jQueryの日付ピッカーの入力マスクを作成する必要がありました。名前とIDが同じ複数のフィールドのRailsの動作を説明できる人はいますか?

私はSimpleFormを使用していたので、自分の入力を拡張して、入力がマスクの前にくるようにしました。

私はすべての設定をして、ブラウザをチェックアウトするときに、すべてがうまくいきました。

フォームは同じIDと名前を持つ同じ属性の2つの入力で終わります。私はこれがうまくいくとは思わなかった。開発ログを確認するには、提出された日付が1つだけ表示されます.2つは、データベースの適切な形式を持つ2つ目の日付です。

これは大丈夫ですか?これがうまくいくように見えますが、さらに重要なことに、何が起こっているのかを説明できるのでしょうか?

ありがとうございます!

+0

いいえ、 'id'属性**はHTMLで一意でなければならないか、奇妙で不愉快なことが起こるでしょう。 –

答えて

0

Railsは、送信されたフィールドを格納するためにHash paramsを使用します。あなたが同じ名前を使用して2つの以上の入力を宣言するときに、あなたが

h=Hash.new 
h[:name]="foo" 
h[:name]="bar" 

結果のような何かをするかのように、それはfooが上書きされたためbarで同じ起こります。したがって、「勝者」は、ブラウザが最後にポストデータに追加したフィールド値です。

私はどこにいても、ブラウザに依存せず、2番目のフィールドが最後に追加されます。

+0

は完璧な感覚です、ありがとう! – Blastula

関連する問題