こんにちは、Discourseコミュニティの皆さん!
Discourseは初めてで、少しばかりのRubyの知識を使おうとしています。ご協力ありがとうございます!
私のプロジェクトは以下の通りです:
新しいユーザーをよりよく知るためにカスタムフィールドを作成し、古いユーザーのカスタムフィールドを更新したいと考えています。
フィールドが空の場合、ログイン時に質問を表示したいです。
Discourseの理解が正しければ、プラグインを作成する必要があると思います。
この最初の課題について、何かヒントや例はありますか?
よろしくお願いします!
Railsコンソールで、
UserCustomField.where.not(value: [nil])
を使用して、すでに返信したユーザーを見つけましたが、残りは乾燥しています…質問に答えていないユーザーを取得するにはどうすればよいですか?
後で解決する必要があると思います。
2つの提案があります。
-
問題の解決方法(ユーザーにフィールドへの入力を促す方法)を尋ねることを検討してください。(ユーザーウィザードプラグインが解決策になるかもしれません。)
-
これを Dev に移動して、そこで質問してください。値がシリアライザー内にある場合、テーマコンポーネントで可能になると思います。
どちらの場合も、件名を「カスタムフィールドが空の場合、ユーザーに入力を強制するにはどうすればよいですか」のように変更してください。
ただし、良い回答は持っていません。 ![]()
その特定の質問に対して、未回答の質問がデータベースでNULLになると仮定すると、where.not(value: [nil]) を where(value: nil) に置き換えるだけで済みます。
また、where(value: [nil, ""]) を使用することもできます。これはSQLの WHERE (something.value IS NULL OR something.value = "") と同等であり、空文字列またはNULLを検索します。どちらが可能性が高いか、またはユーザーが空のフィールドを送信した場合にNULLから""に変更される可能性があるかどうかはわかりません。
@pfaffmanさん、ありがとうございます。アドバイスに従います。![]()
この精度をありがとうございます、@Simon_Manning。大変助かります!
このプラグインは素晴らしいです。@pfaffman さん、ありがとうございます。
またよろしくお願いします。カスタムウィザードプラグインは非常によく機能します ![]()