我有以下模式的Rails應用程序:搜索數據庫中的導軌和多個可選參數
用戶(ID,用戶名,USER_TYPE,master_id) 項目(ID,ITEMNAME,is_master,master_id) 維修(ID, in_date,out_date,user_id,item_id)
該應用程序很小,所以我嘗試讓db儘可能簡單。用戶可以是管理員,經銷商或經理。經理可以有許多經銷商(都存儲在同一個用戶表中)。
一個物品可以是一個像電腦一樣的主物品(有許多子物品,如鍵盤,鼠標),也可以只是一個小的子物品。主項目下可以有許多子項目。
修復是項目的修復歷史記錄。修復有一個項目和用戶關聯。
我有一個搜索具有以下參數(所有可選)
- 經理姓名
- 經銷商名稱
- 碩士項目
- 子項目
- 日期
- 已過期
如果未指定經銷商名稱我希望結果指定經理中的所有經銷商,如果未指定子項目我希望主項目下的所有項目都在結果中。
如何定義搜索控制器以保持代碼的簡單性和可維護性?我真的不想爲每個條件做一個'如果'。
如果我很好地理解了這個意圖(而且很有可能我沒有,因爲問題有點模糊),您希望能夠在任何指定的字段上以相等的方式搜索項目,其中一些是其他桌子上的列? – tehgeekmeister