在编写Ruby Rail框架的网站时遇到这样一个问题:
@all_ratings是一个数组,但是为了将其作为页面状态params[:ratings],params[:setting]的参数(默认是一个hash)。需要进行如下操作。
@all_ratings = ['G','PG','PG-13','R','NC-17']
@ratings = Hash[@all_ratings.collect { |item| [item, 1] } ]
利用array 的collect方法遍历每个元素,针对每个生成一个 两元素的数组,第二个元素之后作为hash 的value。
之后利用返回的二维数组创建hash。