私はレールにかなり慣れていないので、この検索フォームを使用しています
<%= form_tag producer_path(@user), method: :get do %>
<p>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", name: nil %>
</p>
<% end %>
モデルでは SQL LIKE
def self.search(search)
if search
find(:all, conditions: ['name LIKE ?', "%#{search}%"])
else
find(:all)
end
end
これはデフォルトで大文字と小文字を区別しないと思っていましたが、そうではありません。PostgreSQL 9.1 を使用しています。これは、データベース用に構成する必要があるものですか? もしそうなら、どこで?
ところで、印刷できない文字を含む UTF8 ハッシュを含む次のパラメーターが URL に表示されます (ブラウザーのアドレス バーでは、ここでは html でチェック記号として表示されるようです)。この UTF8 エンコーディングが問題の原因でしょうか?
?utf8=✓&search=