レール 2.3.5
以下でデフォルトのセッション値または (優先度付きで) フォーム パラメータを使用している場合、nil エラーを回避するために以下のコードを記述する方法はありますか?
<%= f.text_field :deliver_to_addr, :size => 100, :maxlength => 100, :value => params[:request][:delivery_to_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 %>
ありがとう!