reduce
work.reduce([]) do |s,v|
//reduce表示循环
//s表示reduce后括号里的空数组
//v表示循环的每一项
scope
scope 全局定义
default_scope 默认加载全局内容
default_scope {where isvalid: 'y'}
scope :menu, -> (arg){ where ("function_type='menu'") }
menu类似方法名,后面是形参和方法体,返回值为查出的对应表中的数据
joins
has_many :table2(model名)
scope :right, -> (userid){ joins(:table2).where({"table2s.user_id" => userid.to_array }) }
当前表关联table2s表进行查询,其中:table2是和数据库表table2s对应的.rb(model)文件
distinct
s << b
%w
condition = %w(lastowner)
转化后的condition就是['lastowner']
加@和不加@定义变量的区别
Todo.where('1=1')
总结