我遇到了一個非常奇怪的問題。我正在嘗試使用if和else在rails中它的工作原理,當我將current_user.id與數字進行比較時,但是當我嘗試使用params來完成時,它不起作用。這裏是我的代碼工作:Ruby on Rails參數比較不工作如果其他
<%= @u = 2 %>
<% if current_user.id == @u %>
ssssss
<% else %>
aaaaaaaaa
<% end %>
,當我嘗試使用此代碼:
<%= @u = params[:id] %>
<% if current_user.id == @u %>
ssssss
<% else %>
aaaaaaaaa
<% end %>
它總是給我AAAAAAAAA值這將是有益的,如果有人能幫助我解決這個問題
應該是'to_i'? –
@WandMaker不,它應該是'to_s',因爲current_user.id是類型整數,它與'params [:id]'(通過'@ u')進行比較,它是字符串類型。如果你使用'to_i',你不會投射任何東西,因爲'current_user.id'已經是整數。 – MarsAtomic
@MarsAtomic我的評論指向潛在的錯字在回答'@ u.t_i' –