在我的params
散列中,我收到的值爲:limit
。我需要將此值分配給變量limit
,但不會超過50
,如果未給出:limit
的值,則缺省爲50
。使用默認值獲取最小值
首先,我這樣做:
limit = [params[:limit], 50].min
這將使它最大的50
,但將無法正常工作:如果不給予:limit
,那麼這將讓limit
0
。
接下來,我這樣做:
limit = [params[:limit] || 50, 50].min
這工作,但我還是想知道,這是有效的,如果有更好的方法來做到這一點。
當用戶沒有通過對'什麼:limit',爲什麼它變成了'0'? – sawa
'params [:limit]'將默認爲'nil'而不是'0'。但是,在'nil'上執行'to_i'將返回'0' –