問題タブ [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 投票する
2 に答える
216 参照

ruby-on-rails - ユーザーを作成する前にベータ コードの存在を検証する

モデル:ユーザー

モデル: BetaInvite

私がやろうとしているのは、ユーザーの保存を許可する前に、DB にベータ招待の存在を確認することです。

ユーザーは BetaInvite 名をフィールドに渡すため、DB 内の既存のコードと一致するかどうかを確認したいと思います。

あまり混同していないことを願っています。

この問題について何か助けていただければ幸いです。

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

cakephp - Cakephp2.1beforeSaveが機能しない

ユーザーモデル、UsersController、およびユーザーモデルを使用するAccountControllerがあります(アカウントコントローラーは、アカウントの作成、ログイン、ログアウト時に使用されます)。

AccountControllerのbeforeSave関数を除いて、すべて正常に機能します。beforeSaveを使用してパスワードをハッシュしようとしていますが、機能しません(パスワードはハッシュされていない状態でデータベースに保存されます)。

いくつかの注意:

  • 古いシステムをCakePHPに変換しているため、「sha1」を使用してパスワードをハッシュします(古いシステムはsha1を使用してパスワードをハッシュしました)
  • 保存機能が実行されていてもreturn false;(そうではないと思っていました)
  • 電話debug($this->request->data)しても何も得られない
  • UsersControllerに同じbeforeSave関数を追加しましたが、うまく機能しませんでした

私の場合、beforeSaveが呼び出されていないと思いますが、その理由がわかりません。


解決済み: beforeSave関数はモデル内に配置する必要があります。これが私のbeforeSave関数です。

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

excel - データ入力後にセルをロックする

複数のユーザーが編集するスプレッドシートがあります。以前のデータの改ざんを防ぐために、データが入力されてファイルが保存されると、セルはロックされます。ただし、コードにいくつかの小さなバグがあります。

  1. ユーザーが手動で保存してからアプリケーションを終了しても、再度保存するように求められます。

  2. セルは、終了時だけでなく、アプリケーションの実行中に保存後にロックする必要があります。以前は before_save イベントにこのコードがありましたが、save_as イベントがキャンセルされてもセルがロックされていたため、コードを削除しました。修理済み

(編集:このエラーがいかに明白であるかに気づきました。このステートメントでもそれを言いました!保存前イベントサブを使用して、保存イベント後にセルをロックしようとしています!)

コード

ワークブックを開く、すべてのシートを非表示にする、すべてのシートのサブを表示するは、エンド ユーザーにマクロを有効にするよう強制するために使用されます。完全なコードは次のとおりです。

ありがとう :)

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

ruby-on-rails - Rails 3.2.3のbefore_saveコールバックに対して:on =>:createは有効ですか?

ご存知のように、before_saveコールバックはコールバックの前に実行されbefore_createます。

したがって、他のコールバック(自動保存コールバックなど)に関連してコールバックメソッドが適切なタイミングで実行されるようにするbefore_save :method, :on => :create代わりに、inを使用する方がよいと提案する人もいます。before_createたとえば、このPivotalLabsのブログ投稿このStackOverflowの回答を参照してください。

しかし、私が知る限り、この:on => :createオプションはコールバックに対して望ましい効果を達成していませんbefore_save。つまり、作成かどうかに関係なく、保存ごとにコールバックが実行されます。

ただし、この:on => :createオプションbefore_validationコールバックには有効であるように見えます。

誰かがのため:on => :createに働くことになっているのかどうかを確認できbefore_saveますか?以前のバージョンのRailsで機能し、現在は壊れていますか、それとも前述のリンクは単に間違っていますか?

が有効でないと仮定すると:on => :create、次のことが許容されますか、および/またはより良い方法がありますか?

ありがとうございました。

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

cakephp - ビヘイビアーの cakephp beforeSave コールバックがデータを正しく保存しない

コントローラ:

モデル:

beforeSave 関数の動作:

直接保存するとすべてが原因のようです で保存しsaveAllます。しかし、動作で同じデータ構造を使用すると、エラーなしで機能しませんでした。

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

cakephp - CakePHPは、HABTM結合モデルを保存するときにbeforeSaveメソッドを無視します

だから私は3つのモデルを持っています:

コーチ:var $ hasAndBelongsToMany = array( "Tour")

ツアー:var $ hasAndBelongsToMany = array( "Coach")

CoachesTour:var $ belongsTo = array( "Tour"、 "Coach")

CoachとTourの間にはHABTMの関連付けがあり、結合モデルとしてCoachesTourを使用する必要があります。

足場を使用しています。ツアーを変更するときに、新しいCoachesTourを追加すると、CoachesTourのbeforeSaveメソッドが呼び出されません。結合モデルを使用するのではなく、結合モデルのレコードがSQLステートメントとして挿入されているように見えます。

ここで何かが足りませんか?

ありがとう、

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

ruby-on-rails - Railsで単一の属性が更新されないようにするにはどうすればよいですか?

フォームが送信されたときに、Railsで単一の属性が更新されないようにするにはどうすればよいですか?他のすべての属性を更新する必要があります。

それですかbefore_saveattr_readerそれとも他の方法ですか?

を使用している場合before_save、属性ハッシュにアクセスする方法は?

Rails 3.0.7

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

ruby-on-rails - 保存する前にRubyonRailsを使用して、最初に別のテーブルを更新します

保存する前に別の関連するテーブルを更新しようとしていますが、よく知らないエラーが発生しています...

だから私は私のモデルにあります

post.rb

しかし、私はエラーが発生します

それで、それを使用して別のテーブルに関連付けられている既存のものを更新するために、保存する前に追加しているプロパティにアクセスするにはどうすればよいですか?

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

excel - ファイル構造を維持しながらXLSMとして強制保存

そのため、XLTMファイルを使用しており、ユーザーにXLSMとして保存することを確認してもらいたいと思います。[保存]をクリックすると正常に機能しますが、[名前を付けて保存]をクリックすると、ファイルは「*.xlsm.xlsm」として保存されます。ファイル名を「filename.xlsm.xlsm」ではなく「filename.xlsm」として保持しながら、ユーザーがXLSMとして保存することを確認する方法に少し迷っています。

問題は「.xlsm」を次のように記述している可能性があると思いました。

ただし、そこに「.xlsm」と書かれていないと、代わりにファイルが不正なファイルサフィックスとして保存されていることがわかります。(たとえば、XLTMファイルの名前がTemplate(File001).xltmで、ユーザーが新しいテンプレートファイルを開くと、Template(File001)1として保存されます(「1)1」がファイルタイプであると考えられます)。

それは私のコードの構造かもしれないので、それをどのように修正するかについての指示が必要です。