レールにトークンのランダムな文字列を生成したいのであれば、それにvalidates_uniqueness_ofを使用できますか?これはユーザーが入力したものではなく、すぐにユニークである必要があるためにエラーを返すものではないことを考えてください。それとも、私はばかなだけですか?ランダムトークンを生成するためのvalidates_uniqueness_of作業はありますか?
0
A
答えて
2
についてどのように:
class Token < ActiveRecord::Base
validates_uniqueness_of :random_key
before_validation_on_create :create_key_until_valid
def create_key_until_valid
self.random_key = rand.to_s.slice(2,10)
while Token.find_by_random_key(self.random_key)
self.random_key = rand.to_s.slice(2,10)
end
end
end
0
validates_uniqueness_ofは属性が一意であることを確認するだけで、値を生成しません。
私はbefore_validationを使用して一意の値を作成します。
関連する問題
- 1. 生のマルチパートメールを作成するためのライブラリはありますか?
- 2. Rails 3 validates_uniqueness_of with:scopeは無効なSQLを生成しますか?
- 3. マップを作成するためのコントロールはありますか?
- 4. カレンダーを作成するためのクラスまたはライブラリはありますか?
- 5. i18nリソースバンドルからクリーンコードを生成するためのライブラリはありますか?
- 6. "アーカイブのためのビルド"作業、 "アーカイブ"はありません
- 7. PHPでの作業の作業を確認するためのRegexパターンはありません。
- 8. Javaテストクラスを生成するためのMavenプラグインはありますか?
- 9. AZWファイルを生成するためのツールやプロジェクトはありますか?
- 10. 移行SQL(postgres)ファイルを生成するためのスクリプトはありますか?
- 11. Pythonソースを生成するためのライブラリはありますか?
- 12. ods/xlsx文書を生成するためのライブラリはありますか?
- 13. ブートストラップコンポーネントを生成するためのRubyライブラリはありますか?
- 14. ソースファイルを生成するためのC#ライブラリはありますか?
- 15. タイムラインを作成するための優れたツールはありますか?
- 16. 「作業フォルダ」を作成できる「標準」パスはありますか?
- 17. ASTからクラスファイルを生成するためのJavaライブラリがありますか?
- 18. 私のビデオでサムネイルを作成するためのAPIはありますか?
- 19. コンソールアプリケーションを作成するためのmavenのarchtypeはありますか?
- 20. ホームディレクトリにドットフォルダを作成するためのPythonのイディオムはありますか?
- 21. 'インスタンスストア'ベースのAMIを作成するためのAnsibleモジュールはありますか?
- 22. 2D配列を作成するための略記法はありますか?
- 23. サービスキーを作成/取得するためのCloudfoundry APIはありますか?
- 24. gui xmlを作成するためのGUIツールヘルプはありますか?
- 25. Pythonでコマンドラインインターフェイス(CLI)を作成するためのパッケージはありますか?
- 26. クロスワードパズルゲームを作成するためのiOS SDKはありますか?
- 27. Azure関数アプリケーションを作成するためのNugetパッケージはありますか?
- 28. Facebookアプリケーションを作成するためのDelphiコンポーネントはありますか?
- 29. 無限循環発生器を作成するためのきれいな方法はありますか?
- 30. アンドロイドでUIを作成するためのドラッグアンドドロップツールはありますか?対応するXMLファイルを作成する必要がありますか?
はその行くを与える可能性があります。ありがとう – Cameron