カスタムフィールドが空の場合にユーザーに入力を強制するにはどうすればよいですか

こんにちは、Discourseコミュニティの皆さん!
Discourseは初めてで、少しばかりのRubyの知識を使おうとしています。ご協力ありがとうございます!
私のプロジェクトは以下の通りです:
新しいユーザーをよりよく知るためにカスタムフィールドを作成し、古いユーザーのカスタムフィールドを更新したいと考えています。
フィールドが空の場合、ログイン時に質問を表示したいです。
Discourseの理解が正しければ、プラグインを作成する必要があると思います。
この最初の課題について、何かヒントや例はありますか?
よろしくお願いします!

「いいね!」 1

Railsコンソールで、

UserCustomField.where.not(value: [nil])

を使用して、すでに返信したユーザーを見つけましたが、残りは乾燥しています…質問に答えていないユーザーを取得するにはどうすればよいですか?
後で解決する必要があると思います。

2つの提案があります。

  • 問題の解決方法(ユーザーにフィールドへの入力を促す方法)を尋ねることを検討してください。(ユーザーウィザードプラグインが解決策になるかもしれません。)

  • これを Dev に移動して、そこで質問してください。値がシリアライザー内にある場合、テーマコンポーネントで可能になると思います。

どちらの場合も、件名を「カスタムフィールドが空の場合、ユーザーに入力を強制するにはどうすればよいですか」のように変更してください。

ただし、良い回答は持っていません。 :person_shrugging:

「いいね!」 1

その特定の質問に対して、未回答の質問がデータベースでNULLになると仮定すると、where.not(value: [nil])where(value: nil) に置き換えるだけで済みます。

また、where(value: [nil, ""]) を使用することもできます。これはSQLの WHERE (something.value IS NULL OR something.value = "") と同等であり、空文字列またはNULLを検索します。どちらが可能性が高いか、またはユーザーが空のフィールドを送信した場合にNULLから""に変更される可能性があるかどうかはわかりません。

「いいね!」 1

@pfaffmanさん、ありがとうございます。アドバイスに従います。:+1:

「いいね!」 2

この精度をありがとうございます、@Simon_Manning。大変助かります!

「いいね!」 2

このプラグインは素晴らしいです。@pfaffman さん、ありがとうございます。

「いいね!」 2

またよろしくお願いします。カスタムウィザードプラグインは非常によく機能します :+1:

「いいね!」 2