我有以下代码:
<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>
它呈现如下:
汤姆墨菲 比尔史密斯 你/电影为什么会这样?
<% if current_user.name = review.user.front_name %>
换句话说,如果汤姆墨菲=比尔史密斯......它不是......它不应该在'其他'之后走线吗?这就是我想要发生的事情。
答案 0 :(得分:5)
用
替换<% if current_user.name = review.user.front_name %>
<% if current_user.name == review.user.front_name %>
你放=
,你必须放==
答案 1 :(得分:2)
在Ruby中检查相等性,你应该使用双等号(==
)。
另外 - 目前您正在比较名称。您应该比较对象(用户)以避免错误甚至更糟(安全漏洞)。
<% if current_user == review.user %>
答案 2 :(得分:2)
只需修改:<% if current_user.name = review.user.front_name %>
至
<% if current_user.name == review.user.front_name %>
==
(双等)测试等值..
答案 3 :(得分:1)
当你想做条件陈述时。你应该比较你的陈述。 例如:
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 %>