林定義的範圍重構我的代碼,並試圖按照慣例「瘦控制器,脂肪模型」 現在我想查詢移到模型:從視圖參數傳遞給模型
scope :scope1_department, where(sender_username: params[:username], recipient_username: params[:username])
scope :scope2_department, where(recipient_username: params[:username])
scope_department = scope1_department.merge(scope2_department).sort_by(&:created_at)
在我的控制,我有:
@messages = Message.scope_department(params[:username])
現在我得到這個錯誤我的模型代碼:
undefined local variable or method `params' for #<Class:0x85d0b80>
我也想在我的模型,以取代PARAMS [:用戶名]用簡單的用戶名,但後來我得到的錯誤:
undefined local variable or method `username' for #<Class:0x459fa50>
有過類似的問題,而是你如何能本身我做了一些錯誤: Rails3 How can I use :params in named scope?
謝謝!
不知怎的,在'scope:scope1_department, - >(username){where(sender_username:username,recipient_username:username)}''我得到錯誤'參數數量錯誤(0代表1)'我錯了什麼? –
調用範圍時看起來像是錯誤。 – cortex
我用'@messages = Message.scope_department(params [:username])調用它' –