有人能解釋一下這個代碼背後的邏輯(這是順便說一句正確的代碼)如果,否則,動態語句邏輯
<% if @request.query['first_name'] && [email protected]['first_name'].empty? %>
Welcome! <%= @request.query['first_name'] %>
<% else %>
Hi! What is your name?
<% end %>
我的直覺是寫而不是以下:
<% if @request.query.inspect['first_name'].empty? %>
Hi! What is your name?
<% else %>
Welcome! <%= @request.query.inspect['first_name'] %>
<% end %>
我我試圖建立一個用戶表單,用戶可以在其中輸入他們的姓名,當沒有輸入時,表單上方的文字會顯示「你好!你叫什麼名字?」當有一個輸入時,它有一條消息說:「Welcome!* User_name *」
第一塊代碼對我來說並不直觀,第二塊代碼會更有意義.. ANy關於如何理解代碼的建議?
我不會建議使用'if @ request.query ['first_name']'因爲不等於第一個代碼,因爲空字符串會通過這個條件並且可能會導致意外的結果 –
@RafaelRamosBravin,你是對的。實施取決於代碼庫的測試程度。 –
使用.present?不管用。我得到一個錯誤,但做@ request.query ['first_name']工作,任何人都知道爲什麼.present?可能無法工作?我收到以下錯誤消息:未定義的方法'存在?'爲「blah13」:WEBrick :: HTTPUtils :: FormData – user3408293