0

モデルに作成日用のフィールドがあります。これはフォームから渡されず、現在コントローラーの create メソッドで設定されています。

これは、ある種の初期化メソッドではなく、私のモデルにあるはずですか? もしそうなら、その方法はどのように見えるでしょうか?

レコードが作成されるたびにデフォルトとして設定したい他のフィールドがあるので、これらを配置するための受け入れられた標準的な場所を見つけようとしています。モデルがコントローラーの外部で呼び出された場合、このロジックがすべて含まれていないかのように、モデルであるべきだと思い始めています。

4

2 に答える 2

0

Rails はすでに、レコードの作成日と更新日を管理しています。

モデルにcreated_atフィールドまたはフィールドがある場合、updated_atそれらはモデルの作成および更新の時間で埋められます。

たとえば、移行でこれらのフィールドを簡単に生成できます。

create_table :hello do
  t.timestamps
end

initializeここで、デフォルト値については、モデルのメソッドでそれらを埋めることができます:

def initialize(*args)
  self.field = default_value
  super(*args)
end
于 2013-05-11T15:29:11.610 に答える