1

のフォームにテキストフィールドがありname="test"ます。値を入力すると、params ハッシュにその値が含まれます。

 params[:test] => "value"

ただし、値を入力しないと、params ハッシュに空の文字列が含まれます。

 params[:test] => ""

私の質問は、ユーザーが手動で空の文字列を入力したのか、単に無視したのか、フィールドにまったく触れなかったのかをどのように判断すればよいですか?

更新 わかりました、本当の問題を説明させてください。ページに多数の検索フィールドがあり、それらに基づいて検索する必要があります。これは私が今していることです:

conditions = {}
conditions[:artist_name] = s_artist_name if s_artist_name && !s_artist_name.empty?
conditions[:city] = s_city if s_city && !s_city.empty?

最初に かどうかをnil確認し、次に かどうかを確認する必要がありemtpty?ます。これは私にはよく見えません。わかりません...このような単純なタスクには多すぎる作業です。私は何かが欠けているに違いありません。それとも、このように行われていますか?私nilが電話した場合:

xyz.com/test

params は nil になります。

testフィールドに何も入力せずにページのボタンを押すと、params が入力されますが、空の文字列が含まれます。そのため、空の文字列もチェックします。

4

2 に答える 2