如果会话[:user_id] = nil在rails中,如何更改div内容?

时间:2015-01-31 11:23:23

标签: html ruby-on-rails ruby ruby-on-rails-4

我有这段代码用于在用户登录时在我的页面上显示一个元素:

<% 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中的内容。帮忙?

1 个答案:

答案 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 %>