5

Rails アプリケーションで Ransack gem を使用していますが、うまく機能します。私の現在の問題は検証です。これは基本的に 2 つの部分からなる質問です。

条件に基づいて値フィールドに検証を追加するにはどうすればよいですか。年が選択された属性の場合、値のテキスト ボックスを年のリストを含む選択ボックスに変更するにはどうすればよいですか?

また、条件が「下院議員選挙区」に設定されている場合、値が 3 文字のみで、最初の 2 文字が州の略語であることを確認する機能が必要です。

4

1 に答える 1

1

この貴重な機能を gem に追加するプル リクエストがあるようです。そうなることを願っています。変更に関する説明は次のとおりです (15 日前のGitHub ディスカッションからの引用)。

これが依然として有用な機能であることを確認したいだけですが、lib/ransack/constants.rb で適切なデフォルトの順序を明示的に指定する別の方法もあります。たとえば、次の順序で決定しました。

:cont, :not_cont, :blank, :present, :start, :not_start, :end, :not_end,
:true, :false, :eq, :not_eq, :lt, :gt, :lteq, :gteq, :null, :not_null, 
:in, :not_in, :matches, :does_not_match

列の型 (文字列、整数、日付など) に基づいて述語をフィルター処理しているため、この順序付けによって各型の適切な既定値が設定されます。

編集: Ransack を使用してファセットとフィルターを作成 する興味深いソリューションを次に示します。

于 2012-11-29T21:56:38.237 に答える