何をしているのかよくわかりませんが、これを実現する一般的な方法は、ドロップダウンの値 (表示されているテキストではない) を選択したいオブジェクトの ID にすることです。選択がない場合は、次のようなものを使用できます。
last_name = unless params[:object][:last_name]
conditions = []
conditions << "last_name = ?" unless last_name.blank?
conditions << last_name unless last_name.blank?
Object.find("billy", :conditions => conditions)
メソッドとその適切な使用方法の詳細については、このリンクを参照してください。ActiveRecord::Base.find()
また、この優れたガイドを参照して、SQL インジェクション攻撃から身を守る方法を学んでください。
編集 1:よりクリーンになるようにコードを修正しました。この方法には、個別の条件を簡単に追加できるという利点もあります。「something = ?」をすべて追加するようにしてください。関連する値 (param) を追加する前に。
編集 2: select
form helperを見たことがない場合は、ドロップダウンに使用することを検討してください。生活がずっと楽になります:-)