繁体   English   中英

Ruby on Rails 4-使用模型方法对参数进行排序

[英]Ruby on Rails 4 - Use model method to sort with params

我正在尝试按该模型中的方法对结果进行排序,但是模型方法需要一些参数,这就是我遇到的问题。 我的模型称为事件,我正在尝试使用

Event.all.sort_by(&:user_score("2", "51.4980749", "10.8119977"))

方法用户分数需要一些参数

def user_score user_id, latitude, longitude  
  return 0 
end

返回值0当然只是为了测试它,但是当我调用该函数时它已经失败了:

SyntaxError: (irb):12: syntax error, unexpected '(', expecting ')'
...Event.all.sort_by(&:user_score("2", "51.4980749", ...

我究竟做错了什么?

我敢肯定,问题在于使用block符号的调用方法。 &:user_score("2", "51.4980749", "10.8119977")

您能否按以下更明确的方式尝试相同的操作,

Event.all.sort_by{|e| e.user_score("2", "51.4980749", "10.8119977")}

要么

请找到这篇文章。您能为Ruby中的map(&:method)语法提供参数吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM