簡體   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