我有这段代码用于在用户登录时在我的页面上显示一个元素:
<% if session[:user_id] %>
<%= render partial: '/shared/admin_toolbox' %>
<% end %>
我想我可以使用该会话[:user_id]来更改DIV / SPAN中的元素(如果用户已注销或进入),但我不知道如何。
例如:如果用户已注销,我希望div中包含以下代码:
<a href="#" class="btn btn-primary">Log In</a>
<a href="#" class="btn btn-success">Register</a>
...如果用户已登录,我希望它具有
<p>Hello, (USER) !</p>
<a href="#" class="btn btn-danger">Log Out</a>
我知道如果用户登录后如何显示文本,但我不知道如何更改div中的内容。帮忙?
答案 0 :(得分:1)
在您的情况下添加else
。在ruby中,nil
被视为false
。如果我们假设用户登录时session[:user_id]
为nil,则很容易生成相应的逻辑:
<% if session[:user_id] %>
<%= "I'm logged in so do something inside this block" %>
<% else %>
<% "I'm logged out and will execute this block if session[:user_id] is nil" %>
<% end %>