![](/img/trans.png)
[英]Tooltip for options_from_collection_for_select on Rails
[英]Rails options_from_collection_for_select return unique year values
我正在使用它來選擇所有日期:
options_from_collection_for_select(ObjectModel.all, :id, :get_year)
這是我來自模型的get_year方法:
def get_year
date_attr.strftime("%Y")
end
但是它將返回以下內容:
2015年
2015年
2015年
但是,我需要這幾年是獨一無二的。
我怎樣才能做到這一點?
如果無論從具有相同year屬性的記錄中獲取哪個ID,都可以通過以下方式進行操作:
options_from_collection_for_select(ObjectModel.all.to_a.uniq{ |o| o.get_year}, :id, :get_year)
但是更好的方法是替換這部分
ObjectModel.all.to_a.uniq{ |o| o.get_year}
范圍可檢索數據庫級別的唯一(按年份)記錄。 這將取決於您的數據庫。
您可能還必須對記錄進行排序。 然后:
ObjectModel.order(:date_attr).uniq{ |o| o.get_year}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.