[英]Ruby on Rails If…Else
我有以下代碼:
<div class="category_name">
<%= current_user %>
<%= review.user.front_name %>
<% if current_user.name = review.user.front_name %>
<%= link_to "You", user_path(review.user) %> / <%= review.categories_list %>
<% else %>
<%= link_to review.user.front_name, user_path(review.user) %> / <%= review.categories_list %>
<% end %>
</div>
它呈現出類似以下內容:
湯姆·墨菲·比爾·史密斯You /電影
為什么會這樣呢?
<% if current_user.name = review.user.front_name %>
換句話說,如果湯姆·墨菲(Tom Murphy)=比爾·史密斯(Bill Smith)...那不是...難道不是在“其他”之后到那一行嗎? 那就是我想發生的事情。
將<% if current_user.name = review.user.front_name %>
替換為
<% if current_user.name == review.user.front_name %>
你放=
,你必須放==
在Ruby中,檢查相等性應使用雙等號( ==
)。
另外-當前,您正在比較名稱。 您應該比較對象(用戶),以避免錯誤甚至更糟(違反安全性)。
<% if current_user == review.user %>
只需修改: <% if current_user.name = review.user.front_name %>
更改為
<% if current_user.name == review.user.front_name %>
==
(double equal)測試是否相等。
當您要進行條件聲明時。 您應該比較您的陳述。 例如:
if number == 10
print "Variable is 10"
elsif number == "20"
print "Variable is 20"
else
print "Variable is something else"
end
根據您的情況,請更改行:
<% if current_user.name = review.user.front_name %>
在此處更改代碼
<% if current_user.name == review.user.front_name %>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.