レール上のルビーの初心者です)わかりました、インデックスアクションを備えたコントローラーがあります:
def index
condition = ['fulltime','parttime','remote','forone']. select{ |t| params.has_key?(t.to_sym) }.join(' | ')
Advert.search params[:search],:order => :created_at, :sort_mode => :desc, :conditions => {:employment_type=>condition}
しかし、それはコードの平和です:
['fulltime','parttime','remote','forone']. select{ |t| params.has_key?(t.to_sym) }
ゼロを返す
どうして?:))
次のような一連のチェックを含むコードを書きたくありません。
if !fulltime.nil? && !fulltime.blank?
condition = "fulltime"
end
if !parttime.nil? && !parttime.blank?
if !condition.nil? && !condition.blank?
condition = condition + " | parttime"
else
condition ="parttime"
end
end
しかし、array.select メソッドを使用した私の方法は機能しません:(
アドバイスをいただけませんか?) ありがとうございます!