問題タブ [before-save]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
29919 参照

ruby-on-rails - 「before_save」を実行せずに「update_attributes」を実行するにはどうすればよいですか?

モデルに次のように定義さbefore_saveれています。Message

私がする時:

foobar実行されます。

fooおよびを実行せずにメッセージのフィールドを更新したい場合がありbarます。

たとえば、実行せずに(データベース内の)フィールドを更新するにはどうすればよいですcreated_atか?foobar

0 投票する
1 に答える
241 参照

ruby-on-rails - Rails - 子アソシエーションでアクティブなフラグを反転しようとしています

フォーラムとトピックの 2 つのモデルがあります。フォーラムには多くのトピックがあります。それぞれにアクティブなブール値があります。フォーラムでアクティブ フラグを反転すると、そのトピックのすべてのフラグも反転されます。私の考えは、self.active でない限り、before_save def before_save でこれを行うことでしたか? self.topics.each{|トピック| topic.close} 終了

トピックでは、close メソッドを定義しました: def close self.active = false self.save end

ここで間違ったアプローチをとっているのでしょうか (コントローラーのように他の場所でやるべきでしょうか?) エラーは発生しませんが、フラグを false に設定しても何も起こりません (すべてを反転させたいとは限りません)。フォーラムをアクティブに設定するとトピックがアクティブになるので、これは一方向に進むだけで済みます)。

ありがとう

0 投票する
0 に答える
691 参照

ruby-on-rails - Railsフィクスチャのロード後にdo_saveを強制する

AFAICT before_save (およびおそらく他のコールバック) は、Rails フィクスチャが読み込まれるときに呼び出されません。before_save を呼び出す方法はありますか?

0 投票する
1 に答える
5426 参照

ruby-on-rails - before_save の mark_for_destruction

これで何が問題なのbefore_save-callbackですか?

そのうちの 1 つにline_items破壊のマークが付けられている場合、line_item保存されるものはありません。ただし、親 Order オブジェクトは保存されます。true を返しても違いはありません...

mark_for_destruction について: http://apidock.com/rails/v3.1.0/ActiveRecord/AutosaveAssociation/mark_for_destruction と、なぜ「:allow_destroy => true」ではなく? ここを参照してください: http://weblogs.manas.com.ar/spalladino/2010/03/15/deleting-children-with-accepts_nested_attributes_for-in-rails/

0 投票する
1 に答える
38 参照

ruby-on-rails - いくつかの場所で使用される関数を含めるRailsの方法

モデルの before_save ルーチン内で実行する必要がある関数 (テーブル内のレコードの作成) があります。それを行うための好ましい方法は何ですか?私はRails 3.1にいます。libのモジュール?libのクラス?アプリケーション.rb?

例はありますか?

ありがとう

0 投票する
1 に答える
2507 参照

ruby-on-rails - before_save イベントでモデルが変更または作成されたかどうかを確認する

Rails の before_save コールバックでモデルが作成されているかどうかを確認したい。変更されているかどうかも確認したい(更新時)。

ありがとう

0 投票する
1 に答える
862 参照

php - CakePHP 2 beforeSave()が機能しない

保存する前に、投稿されたデータを操作する必要があります。$this->dataはこのような配列です

そして、日を変更して、すべての「サブ配列」にuser_idを挿入する必要があります。

しかし、デバッグのためだけに、beforeSave()でdebug($ this-> data)を呼び出すと、結果は空の配列になり、何もできなくなります。

0 投票する
2 に答える
2065 参照

cakephp - Cakephp:モデルのbeforeSaveメソッドがfalseを返すと、コントローラにエラーメッセージが表示されますか?

私の Student モデルには、true または false を返す beforeSave メソッドがあります。StudentsController のすべての保存エラーに対して標準のメッセージを表示するのではなく (あなたの入学を保存できませんでした。もう一度やり直してください)、Student モデルの beforeSave mtd が false を返したときに別のエラー メッセージを表示したいと考えています。どうやってやるの?

学生コントローラー

0 投票する
2 に答える
64 参照

ruby-on-rails - Rails 3 - 重複する可能性のあるものの一意性を確保するためにインデックス フェイルセーフを追加する

自分で答えを見つけることができなかったレールの質問があります。非常に単純または明白である場合は申し訳ありませんが、私はここでは完全な初心者です。

そのため、データベースに :client_code という列があり、モデルでは :first_name と :last_name の最初の文字を小文字で連結したものとして定義されています。たとえば、新しいフォームを開き、:first_name に「John」、:last_name に「Doe」と入力すると、:client_code には自動的に「jdoe」の値が与えられます。モデル コードの関連部分は次のとおりです。

このコードに何かを追加して、誰かがまったく同じ名前で別のクライアントに入った場合に、一意性の検証に失敗せず、代わりにわずかに変更された :client_code (「jdoe2」、たとえば)。おそらく、それらすべてにインデックスを追加する方法を理解できますが、重複の場合のフェールセーフとして数字のみを含めることをお勧めします。誰かが私を正しい方向に向けることができますか?