林定义的范围重构我的代码,并试图按照惯例“瘦控制器,脂肪模型” 现在我想查询移到模型:从视图参数传递给模型
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])调用它' –