Rails 2.3.5使用text_field的默認值時,避免表單參數中的Nil錯誤?
如果下面我使用默認會話值或(優先級)表單參數,有沒有辦法寫下面的代碼以避免零錯誤?
<%= f.text_field :deliver_to_addr, :size => 100, :maxlength => 100, :value => params[:request][:delivery_to_address] || session[:address] %>
我工作圍繞這一問題通過把一個邏輯塊在控制器中拿出一個單變量保存應該怎麼選擇(如下圖),但有一個簡單的方法來解決這個問題,所以我每次我需要使用默認值(本例中爲session [:address])時,不需要代碼塊?
if !params[:request].blank?
if !params[:request][:delivery_to_address].blank?
@delivery_addr_to_select = params[:request][:delivery_to_address]
else
@delivery_addr_to_select = session[:address]
end
else
@delivery_addr_to_select = session[:address]
end
<%= f.text_field :deliver_to_addr, :size => 100, :maxlength => 100, :value => @delivery_addr_to_select %>
謝謝!