0

iveは私のアプリケーションの足場を生成しました。DBには、フォームが送信された現在の日時を設定する日時フィールドがあります。

_form.html.erbで作成しました

<div class="field">
    <%= f.label :t_date %><br />
    <%= f.date_select :t_date %>
  </div>

   <div class="field">
    <%= f.label :t_time %><br />
    <%= f.time_select :t_time %>
  </div>

しかし、私はユーザーにそれらを設定させたくありませんが、フォーム引数として渡す必要があります。私はそれらの非表示フィールドについて考えましたが、非表示として設定したとしても、不正なフォームのtrought jsonまたはPOSTリクエストを送信する可能性がありますか?現在の日付と時刻を渡し、それらをデータベースに保存し、ユーザーに通知せずに表示する正しい方法は何でしょうか?

4

2 に答える 2

0

送信するのではなく、フォームが読み込まれた正確な時刻を知る必要がない限り、フォームの送信を受け取った後、コントローラーに現在の日付と時刻を追加することをお勧めします。素晴らしくシンプルで、ユーザーが「悪意のある」日付を送信する可能性を回避できます。

于 2012-09-06T20:21:39.217 に答える
0

フォームを使用してモデルを作成または更新する場合は、Activerecordが提供するタイムスタンプ機能を使用するだけです。

ドキュメントから:

テーブルにcreated_at/created_onまたはupdated_at/updated_onという名前のフィールドがある場合、ActiveRecordは自動的に作成および更新操作にタイムスタンプを付けます。

于 2012-09-06T20:24:16.007 に答える