Ruby on rails Rails模型依赖关系和Lambdas
我刚刚开始学习Rails,有一件事让我感到困惑,那就是在很多方法中使用lambdas。我不明白的是lambda主体内部的论点。我解释这一点的方式是,对于第一个参数,order是一个方法,其中的参数发布在。但是在另一个以DESC为参数的方法中发布了吗?这同样适用于原始方法参数的第二个参数Ruby on rails Rails模型依赖关系和Lambdas,ruby-on-rails,ruby,lambda,Ruby On Rails,Ruby,Lambda,我刚刚开始学习Rails,有一件事让我感到困惑,那就是在很多方法中使用lambdas。我不明白的是lambda主体内部的论点。我解释这一点的方式是,对于第一个参数,order是一个方法,其中的参数发布在。但是在另一个以DESC为参数的方法中发布了吗?这同样适用于原始方法参数的第二个参数 class用户{order('published_'at DESC,title ASC')} 结束 此行: has_many :articles, -> { order('published_at DESC
class用户{order('published_'at DESC,title ASC')}
结束
此行:
has_many :articles, -> { order('published_at DESC, title ASC') }
有很多
正在定义用户和文章记录(在数据库中)之间的关系
lambda
lambda部件正在调用.order()
。传递给.order()
的参数是用SQL语法编写的字符串。(在Rails 4中,您可以执行.order(发布于::desc,title::asc)
)
总的来说,该用户的
有许多
在相关文章中使用特定顺序
所以当你打电话时:
User.find(params[:id]).articles
所有文章都将返回,并按参数进行排序published\u在DESC,title ASC
希望这有帮助 这是传递给
的选项的散列,有很多个:
本例中的选项散列包括order
方法:
定义的order
接受数组参数,该参数作为字符串扩展为带有默认分隔符的join
,因此您可以指定多个列:
我从未意识到.order方法中的参数使用的是SQL语法,现在这些都有意义了。非常感谢你!
User.find(params[:id]).articles